タグ

文字コードに関するunirunのブックマーク (3)

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

    unirun
    unirun 2011/07/17
    文字コード怖すぎる(´・ω・`)
  • コマンドプロンプトでのPythonの文字コードについて - 偏った言語信者の垂れ流し

    Pythonでコマンドツールを作ってて、パイプでつなげたりするときに色々はまったのでメモ。 WindowsXPでPython2.7。 # coding: utf-8 def main(): print u"テスト" # PYTHONIOENCODINGでエンコードされる print "テスト" # このファイルの文字コード(utf-8) print u"テスト".encode('cp932') # cp932にエンコードされる if __name__ == '__main__': main() これをコマンドプロンプトから実行するとこうなる。 >python test.py テスト 繝・せ繝 テストこの出力を、文字化けがない状態でファイルに書き出したい。 ちなみに、出力をリダイレクトしようとするとエラーになる。 >python test.py > test.txt Traceback (m

  • 日本語文字列コード問題まとめ — PythonMatrixJp

    文字列コード問題との戦い Pythonに限った話ではないのですが、 日語を取り扱うコードを書いていると やっかいなエンコーディングトラブルに遭う事は少なくないでしょう。 エンコーディングトラブルとは コンパイラ・インタプリタがソースコードを解釈できない。 画面表示が化ける。 意図した入力ができない。 エンコード・デコード時にエラーがでる。 正しいファイル名のつもりなのにファイルが見つからない。 出力させたファイルの中身が読めない。 などといった現象を基としていろんな問題を引き起こします。 問題のすべては「コード変換」に発生します。 実際の文字列が何のエンコーディングで、 渡す先が何のエンコーディングを期待しているか? それらを確認して合致させるように変換をするということが基です。 「Python語版が必要」というのは誤解 Python2.4以降であれば日語のコーデックは含まれて

  • 1