����򸫤ơ�(de|en)codeURIUnicode������Ф����Ȼפä��ΤǺ�äƤߤ�
sawat������ - Unicode�����������ʤΤǡ����ҤΤ褦��ñ����ASCIIʸ���򥨥������פ����������Τ褦�ʥ������Ǥ�Unicode���������פ�Ȥä������褤�Ǥ���Java��properties�Ȥ�native2ascii�Ȥ��Τ�ĤǤ���
- Decoded:
- Encoded:
�פϡ�U+00ff�ޤǤ�encodeURIComponent
�ߴ�������ʾ��escape()
�ߴ��Ȥ�����Ρ���������encode���줿��Τϡ�CGI.pm�Ȥ��Ǥ��ۤ����Τޤ޻Ȥ��롣
�����������Ρ֤ۤܡפȤ����ۤ������Ԥǡ�����JavaScript�Ǥϡ�BMP�����ʸ����Java��Ʊ����Surrogate Pair��ɽ�����롣�㤨�С�𪚲��(U+2A6B2)�ϡ����λ��ȤǤ�𪚲�ʤΤ�����"𪚲".length
��2�Ǥ��ꡢescapeɽ������%uD869%uDEB2
�Ȥʤ롣�����ʤ��CGI.pm�Ǥ⿩���ʤ��ʤ롣�ˤݤ��󤬥�꡼������URI::Escape::JavaScript��Surrogate Pair���꤬̤�����ä���
�����������꤬���뤻������RFC�ˤ�
RFC 3986pct-encoded = "%" HEXDIG HEXDIG
�Ϥ��äƤ⡢
pct-u-encoded = "%u" HEXDIG HEXDIG HEXDIG HEXDIG
�Τ褦�ʤ�Τϸ�������ʤ����������Ǥϥǡ������ѤȤ��Ƥ��򤱤������ȤΤ褦����
Dan the Man with too Many Transcoders to Maintainer
Source Code:var _noEscapeChars = {}; (function(str){ for (var i = 0, l = str.length; i < l; i++){ _noEscapeChars[str.charAt(i)] = 1; } })( '0123456789' + 'abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '-_.!~*\'()' ); function encodeURIUnicode(str){ var result = ''; for (var i = 0, l = str.length; i < l; i++){ var c = str.charAt(i); if (_noEscapeChars[c]){ result += c; }else{ var ord = c.charCodeAt(c); var hex = ord.toString(16); if( ord < 256 ){ if (hex.length < 2) hex = '0' + hex; result += '%' + hex.toUpperCase(); }else{ while (hex.length < 4){ hex = '0' + hex; } result += '%u' + hex.toUpperCase(); } } } return result; } function decodeURIUnicode(str){ var result = ''; for (var i = 0, l = str.length; i < l; i++){ var c = str.charAt(i); if (c == '%'){ if (str.charAt(i+1) == 'u'){ var hex = str.substr(i+2, 4); result += String.fromCharCode(parseInt(hex, 16)); i += 5; }else{ var hex = str.substr(i+1, 2); result += String.fromCharCode(parseInt(hex, 16)); i += 2; } }else{ result += c; } } return result; }
���Υ֥����˥����Ȥ���ˤ�����������ɬ�פǤ���
��������������
���ε����ˤϵ��ĥ桼�����������Ȥ��Ǥ��ޤ���