F450

2005年11月19日の日記 ‣ 考えてみりゃ…ねぇ。

古いデータが多く含まれているため、デッドリンクがあったり記事等を正しく表示できなかったりする可能性があります。また、これらの日記に対する新たなコメントやトラックバックは受け付けていません。予めご了承下さい。
2005年11月19日(土)の日記

考えてみりゃ…ねぇ。

問.以下のJavaScriptの関数が示すものは?
答.虚無感。
function encodeString(string) {
var encodedString = '';
var ii;
for (ii = 0;ii < string.length;ii++) {
var ucsCode = string.charCodeAt(ii);
var encodedCharacter = '';
if ((0x00 <= ucsCode) && (ucsCode <= 0x7F)) {
encodedCharacter += '%' + ('0' + ucsCode.toString(0x10)).substr(-2);
} else if (ucsCode <= 0x7FF) {
encodedCharacter += '%' + (0xC0 | ((ucsCode & 0x7C0) >> 6)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x03F) >> 0)).toString(0x10); // 行をそろえたいだけ
} else if (ucsCode <= 0xFFFF) {
encodedCharacter += '%' + (0xE0 | ((ucsCode & 0xF000) >> 12)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x0FC0) >> 6)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x003F) >> 0)).toString(0x10);
} else if (ucsCode <= 0x1FFFFF) {
encodedCharacter += '%' + (0xF0 | ((ucsCode & 0x1C0000) >> 18)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x03F000) >> 12)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x000FC0) >> 6)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x00003F) >> 0)).toString(0x10);
} else if (ucsCode <= 0x3FFFFFF) {
encodedCharacter += '%' + (0xF8 | ((ucsCode & 0x3000000) >> 24)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x0FC0000) >> 18)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x003F000) >> 12)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x0000FC0) >> 6)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x000003F) >> 0)).toString(0x10);
} else /* if (ucsCode <= 7FFFFFFF) */ {
encodedCharacter += '%' + (0xFC | ((ucsCode & 0x40000000) >> 30)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x3F000000) >> 24)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x00FC0000) >> 18)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x0003F000) >> 12)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x00000FC0) >> 6)).toString(0x10);
encodedCharacter += '%' + (0x80 | ((ucsCode & 0x0000003F) >> 0)).toString(0x10);
}
encodedString += encodedCharacter;
}
return encodedString;
}
2005/11/20(日) 00:25:13 (JST)

この日記へのコメント

この日記へのコメントはありません。

この日記へのトラックバック

この日記へのトラックバックはありません。