タグ

UTF-8とPythonに関するbunhikoのブックマーク (3)

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

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

  • PythonEncode - MoriMoin

    こんなエラーがおきたとき >>> print hoge Traceback (most recent call last): File "<stdin>", line 1, in ? UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128) デフォルトで設定されてる文字コードを変えると解決します。 で、その設定のしかたですが、 1. 環境変数LANG に端末が扱うエンコードを設定する。(たぶん LANG=ja_JP.utf-8 か、 ja_JP.eucJP のどちらかでいけるとおもいます) 2. 1は端末に出力(ただprintする時)するときだけに対応するので、 hoge = file(’hoge’, ’w’) print >>hoge, u

  • Python でUTF-8, shift_jis, euc_jpなど日本語を使う方法

    [Home] [Setting up Mac OS X] [Python]: [ファイルを読む] 日語を使う Pythonで日語を使う Python 2.4以降では、標準で日語を扱うことができます。 PythonのソースコードをUTF-8で書くには 日語を扱うPythonのスクリプトの中では、UTF-8の文字コードを使うのが 楽です。 Mac OS Xのターミナルで日語を扱う場合は、 ここの「4. Terminalの設定を変える」の 指示に従ってください。 以下、ソースコードの簡単な例を示します。 #!/usr/bin/env python # -*- coding: utf-8 -*- import re jtext = u'子が隠れんぼをしています' print 'jtext has', len(jtext), 'Japanese characters.' if re.se

  • 1