タグ

unicodeに関するs-woolのブックマーク (4)

  • ものかの >> archive >> Unicode正規化 その3

    Unicode正規化 その3 (2010.3.22 改訂) 結合文字列は様々な問題を引き起こします。来は、問題が起こらないようにOSやソフトウェアの側が対応するべきですが、現状ではUnicodeの急進的な規格に技術がそこまで追いついていません。ですから、私たちは自分でなんとかするしかありません。 結合文字列の問題は「1文字なのに複数の文字データになっている」という仕様そのものにあります。この問題を避けるには結合文字列を1つの文字データだけにするしかありません。「結合文字列のポ」を「1つの文字データのポ」に変換するということです。 結合文字列を1つの文字データに変換する 「変換」と言うと、なにかとても難しい処理をするような印象をうけますよね。例えば、なんらかのアルゴリズムに従ってバイナリコードを加工する、みたいな感じです。しかし、結合文字列を1つの文字データにする場合、この方法は使えません

  • Twitterで見かけるハミ出した顔文字の正体 - RyoAnna

    少し前からTwitterで見かけるようになった、上下に飛び出す変な顔文字。 気持ち悪いのであまり関わらないようにしていたのだが、この顔文字の謎が明らかになったのでお伝えしたい。 いつものようにiPhoneのApp Storeをぶらぶらしていた時のこと。 Unicoder Lite (App Store)というアプリが気になりダウンロードした。 起動するとなにやら見慣れた文字が。 顔文字でよく使われるギリシャ文字やキリル文字だ。 しばらく眺めているとこんな符号が。 合成用区分符号 これが上と下の行にはみ出す顔文字の正体だった。 ためしに作ってみよう。 ベースとなる顔文字を置く。 左目に合成用区分符号を入れる。 続いて右目に。 見事にはみ出す。 Unicode(ユニコード)とは、世界中のコンピュータの文字を符号化したもの。その "U+0300-036F" に配置されているダイアクリティカルマー

    Twitterで見かけるハミ出した顔文字の正体 - RyoAnna
  • [Python] UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 - SumiTomohiko's blog

    環境 この記事の内容は、Ubuntu 6.10, Python 2.4で確認しました。 現象 ユニコード文字列をstr関数に与えると、UnicodeEncodeErrorが発生します。 $ python Python 2.4.4c1 (#2, Oct 11 2006, 21:51:02) [GCC 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> s = u'ほげ' >>> str(s) Traceback (most recent call last): File "", line 1, in ? UnicodeEncodeError: 'ascii' codec

    [Python] UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 - SumiTomohiko's blog
    s-wool
    s-wool 2009/06/10
    これやらないとハマる。
  • PythonのUnicodeEncodeErrorを知る - HDEラボ

    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にどのよ

  • 1