概要 今まではサロゲートペアによる文字を1シーケンスで表すことが出来なかったが、ES2015では『\u{xxxxx}』の形式で「0xffff」を超える文字コードを表すことができる。 例 var s1 = '\ud842\udf9f' var s2 = '\u{20b9f}' console.log( s1 == s2, s1, s2 ) // true "𠮟" "𠮟" 実装されるバージョン V8 3.31.38(文字列リテラル内) 4.2.1(正規表現リテラル内)
概要 今まではサロゲートペアによる文字を1シーケンスで表すことが出来なかったが、ES2015では『\u{xxxxx}』の形式で「0xffff」を超える文字コードを表すことができる。 例 var s1 = '\ud842\udf9f' var s2 = '\u{20b9f}' console.log( s1 == s2, s1, s2 ) // true "𠮟" "𠮟" 実装されるバージョン V8 3.31.38(文字列リテラル内) 4.2.1(正規表現リテラル内)
918879 - Implement String#codePointAt and String.fromCodePoint テストコード: http://mxr.mozilla.org/mozilla-central/source/js/src/tests/ecma_6/String/ ECMAScript6th における、Unicode をもう少しうまく扱うためのメソッド2つ。従来の String.fromCharCode, String.prototype.charCodeAt の Unicode 対応版と言え、サロゲートペアとなる文字の扱いが変わっている。 今回は「吉野家」の正しい文字として http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=%F0%A0%AE%B7 を使うよ。 var str = "𠮷
ECMAScriptの仕様では、0x0A/0x0D以外にU+2028/2029の文字も改行とすることが明記されています。 これはあまり知られていないように思います。 以下はアラートを出します。 <script> //[U+2028]alert(1) </script> 知られていないだけでなく、知っていたとしても、スクリプトで文字列を処理するときに、U+2028/2029まで考慮する開発者がどれだけいるのかという話です。 実際、U+2028/2029を放り込むと文字列リテラル内にその文字が生のまま配置され、エラーが出るページは本当にたくさんあります。まあ、エラーがでるだけなら、大抵の場合大きな問題にはなりません。 ところが、U+2028/2029によってXSSが引き起こされてしまう場合というのを最近実際に見ました。 Googleのサービスで見つけた2つのケースを取り上げたいと思います。 ケ
2013年03月29日16:00 カテゴリTipsLightweight Languages javascript - でBMP以外のUnicode文字をきちんと扱う 文字コード「超」研究 深沢千尋 一肌脱ぐか。 dankogai/js-codepoints ・ GitHub Twitter時代の文字の数え方 | 配電盤正確には、「Unicode 3.1時代の文字の数え方」なのでしょうが、Unicodeの最新バージョンが6.0の今、それではぱっとしないのでSYNOPSIS log('𠮷野家'.length ); /* 4 // unfortunately */ log('𠮷野家'.codePointsOf() ); /* 3 // naturally */ log('𠮷野家'.codepoints ); /* 3 // naturally */ log(String.fromCode
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く