タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

JavaScriptとunicodeに関するpotato777のブックマーク (2)

  • String.prototype.normalizeが実装された - JS.next

    実装されたメソッド String.prototype.normalize(form = "NFC") form(初期値:"NFC")の形式で正規化した文字列を返す 詳細 複雑な文字は、一文字に見えても、文字コード上は複数の構成文字から成り立っている場合がある。 例えば、『が』(濁点付き平仮名か)と、『か』(平仮名か) +『゛[U+3099]』(合成用濁点)は、 同じ意味を持ち同じように見えるが、文字コードが異なるためそのままではプログラム上では異なる文字列として扱われてしまう。 ga_NFC = 'が' // 'が' ga_NFD = 'か\u3099' // 'が' escape(ga_NFC) // '%u304C' escape(ga_NFD) // '%u304B%u3099' ga_NFC.length // 1 ga_NFD.length // 2 ga_NFC == ga_

    String.prototype.normalizeが実装された - JS.next
  • JavaScript Stringでサロゲートペアを扱う - teppeis blog

    JavaScriptで強力なUnicodeを扱う方法について書きます!(嘘) 先月末に発売されたWEB+DB PRESS Vol.78で「フロントエンドの国際化」の記事を書いたのは前回書いた通り。 WEB+DB PRESS Vol.78に「フロントエンドの国際化」について書いた! - teppeis blog 記事内で、JSの文字列は基UTF-16なのでサロゲートペアがうまく扱えないっていう問題は書いたけど、じゃあどうすればいいの?っていうのは載せられなかったので書く。 文字数のカウント 「𠮷(U+20BB7、つちよしだ)」や「𩸽(U+29E3D、ほっけ)」はUTF-16ではサロゲートペアで表現するのでlengthが見た目とズレる。 console.log("𠮷野家で𩸽".length); // 7 これを「5文字」とカウントしたいという話。 正規表現を使う方法 たぶん実装が一番

    JavaScript Stringでサロゲートペアを扱う - teppeis blog
  • 1