Unicode エスケープシーケンス(\uXXXX)形式 に変換するもの ついでにHTMLの数字文字参照、文字実体参照にも対応させてみた。 メモ Unicode の UTF-8 エンコーディングは ASCII 文字と互換性があります。 Unicode 文字の U+0020 から U+007E までは ASCII 文字の 0x20 から 0x7E と同等です。 ASCII はラテンアルファベットをサポートしており、7 ビット文字セットを使用します。 UTF-8 は各文字について 1 オクテットから 4 オクテットを使用します。 (「オクテット」は 1 バイト、すなわち 8 ビット)。 \uXXXX形式 は多分、java、javascriptで使用可能。 数値文字参照(文字参照):数値文字参照は、10進数もしくは16進数によって文書文字集合における該当文字を指定する方法 例: 「©
Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ
Unicode エスケープシーケンスをRubyで扱う方法。 module Unicode def escape(str) ary = str.unpack("U*").map!{|i| "\\u#{i.to_s(16)}"} ary.join end UNESCAPE_WORKER_ARRAY = [] def unescape(str) str.gsub(/\\u([0-9a-f]{4})/) { UNESCAPE_WORKER_ARRAY[0] = $1.hex UNESCAPE_WORKER_ARRAY.pack("U") } end module_function :escape, :unescape end require "kconv" utf8_string = "こんにちは".toutf8 escape_string = Unicode.escape(utf8_string
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く