タグ

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

  • 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
  • ウノウラボ Unoh Labs: Mac OS X上のUnicode

    Firefoxは内部的に変換処理を行うようになっているようです。 問題はSafariとOperaですね。 選択されたファイルのパスからJavaScriptで ファイル名を抜き出してタイトルに設定する部分で、 正しく扱えるような文字コードに変換することにしたいと思います。 基的な流れとしては、UTF-8-MAC特有の「U+3099」(COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)、 「U+309A」(COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK)がファイル名に含まれている場合は、 その前の文字と結合して濁音・半濁音の文字にしてあげればいいでしょう (ひらがな・カタカナのみの暫定的な対処に過ぎませんが)。 変換用の文字テーブルを用意して、逐一変換していくかたちにしたいと思います。 というわけ

  • 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で
  • JavaScriptにおけるURLエンコードの処理

    このメモは、JavaScriptでクッキーを処理する場合のポイントをお示しし、URLエンコードに関わるトラブルを回避していただくことを目的にしています。お急ぎの方は3章と4章を飛ばして読んで頂いて構いません。なおこのメモはなるべくIEでご覧下さい。 目次 1.  1 クッキーとURLエンコーディング 2.  2 URLエンコーディングとは 3.  3 JavaScriptにおけるescape()とunescape()関数 4.  4 JavaScriptにおけるencodeURI、decodeURI、encodeURIComponent、decodeURIComponent 5.  5 それでは一体どうすればよいか? 6.  6 UTF-8のURLエンコード・デコード関数の例: プログラム例 7.  7 JSPとJavaScript間のクッキーによるデータ交換例 HTMLテキスト以外にウェ

  • 1