タグ

JavaScriptと文字に関するmorobitokozouのブックマーク (2)

  • JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io

    Intro textarea などに入力された文字数を、 JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、 BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID

    JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io
  • URLエンコードをperlで

    IEなどのJavaScriptで escape を使うと、日語などは UTF-16(Big Endian)にエンコードされ、%uHHHH 形式にエスケープされます。 また US-ASCII の場合、A-Z a-z 0-9 _ @ . * / + - はエスケープされず、それ以外は %HH 形式にエスケープされます。 UTF-16 への変換は jcode.pl ではできないので、何かしらのモジュールが必要です。 Perl 5.8 以上ならば Encode.pm が標準で使えますが、そうでない場合は Jcode.pm をインストールして使うとよいでしょう。 ※ただし、Jcode.pm には utf16 関数がないので、ほぼ同等の ucs2 関数を使います。 以下、サンプルです。 # Encode ver. sub js_escape { use Encode; my $str = join

    URLエンコードをperlで
  • 1