タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Pythonと文字コードに関するkyopecoのブックマーク (12)

  • 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

  • HOME > 電算 > Python と文字コード

    HOME > 電算 > Python と文字コード Python と文字コード Python で行き当たりばったりに日語処理をしてきたが、これではいかんと思っていくらかまとめてみた。(当然、このメモには間違いや誤解があろうと思う) 「python は『abc』を使うのが基で『あいう』を使うのが例外だ」と考えると、「あいう」に対してできないことが多すぎて難しく見える。しかし、「『あいう』に対して使えるようなやり方なら『abc』にも問題なく使えて、ただ、『abc』には特権的に無作法な書き方が許されているのだ」と考えれば、ずっと簡単に理解できるように思う。 まとめ ユニコードは「文字コード」(バイト表現と文字の対応関係)ではない utf-8 は「文字コード」である Python の unicode 型は「文字コード」にとらわれない型で、CPU やメモリ上で用いられる Python の str

  • Python で日本語を含むリストやディクショナリの表示にもの思い - forest book

    大学の友人Python を学び始め、デバッグしていて抱いた疑問をググったところ、以下の解決方法を見つけたようです。 #python で日語を含むlistとかdictとかを人間が読めるようにprettyprintする方法はURLが王道なのだろうか。 2011-03-04 21:50:02 via web Pythonでコード書いてると、1回は残念だなぁと思うポイントとして表題の件があると思います。具体的には以下です。 # リストも辞書も出力がお世辞にも良いとは言えない。。 >>> print ['あ', 'い', 'う'] ['\xe3\x81\x82', '\xe3\x81\x84', '\xe3\x81\x86'] >>> print {'title':'ねじまき鳥', 'author':'村上春樹'} {'author': '\xe6\x9d\x91\xe4\xb8\x8a\xe

  • [Python]マルチバイト文字をはじく – memlog

  • 日本語環境でのPython (for Python 2.3 or later)

    語環境でのPython (for Python 2.3 or later) - Pythonで日語処理を行うために(for Python... 皆さんがPythonを使いはじめるとき、なんと言っても気になるのは「ちゃんと日語使えるのかなぁ」ということではないかと思います。 結論から言えば、現在のPythonは日語環境で利用可能です。 しかし、快適に日語を使うためには、ちょっとした準備が必要です。 ここでは、Python 2.3 を基に説明を行います。 Python の文字列型 まず、Python の文字列型データは 8 ビット透過ですので、文字列の中に文字コードが 0 から 255 までのどんな値が含まれていても処理することが出来ます。 Python の文字列型データに日語が含まれていても、ビット落ちなどの障害が発生することはありません。 いったんデータとして日語文字列を

  • azito.com

    This domain may be for sale!

  • 5分で理解するPython文字コード - Y's note

    概要 Pythonの文字コード指定による日語文字化けの問題は誰もがハマるところ。 この記事では文字化けの解決方法を簡単にまとめたものになります。 実行環境はMacです。UnixやLinuxでもPath以外の箇所は同じように動作すると思います。 間違いの指摘などあればよろしくお願いします。 注意すべきこと 簡単にいうと以下の4点になりそうです。 1. ファイルの文字コード指定 2. ファイル内部の行頭での文字コード指定 3. Pythonの内部コードはUnicode(オブジェクト)として扱っている。 4. printなどの出力関数では端末の設定に合わせた文字コードが利用されている ※1,2の文字コード指定は一致させます。 1.ファイルの文字コード指定 サンプルとしてUTF-8で指定する例を挙げます。ファイル名はencode.pyです。 nkf --guess encode.py UTF-8

    5分で理解するPython文字コード - Y's note
  • Pythonで unicodedata.normalize を使って全角半角を正規化する方法

    (この記事は 2008年03月14日に別のブログに投稿した記事を移動・編集したものです。) インターネット上の日語を扱っていると、全角半角が統一されていない事による表記揺れをなんとかしたい場面に出くわします。半角で書かれた iPod も、全角で書かれたiPodも同じものとして扱いたいときや、あるいは単に見た目がきれいになるように、英数字は半角に、カタカナは全角にそろえたい、という場合です。 Python では setomitsさんによる zenhan.py を使うと、文字種ごとに全角半角を選択して変換することができ、除外文字も設定できるので便利です。ただ、そこまで柔軟でなくても良く、単に表記揺れがなくなれば良い、という場合も多いかと思います。その場合はPythonの標準ライブラリに含まれる unicodedata モジュールの normalize 関数を使うと便利です。 >>> impo

  • UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ

    UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ 2008-05-01-3 [Programming] UTF-8 の全角ハイフン(便宜上こう呼びます)を Perl の正規表現でマッチさせようとしてはまりました。 全角ハイフンってのは「−」です。 やろうとしたことは、テキストファイル(UTF-8)を読み込んで、 その中の全角ハイフンを半角ハイフンに変換するという作業。 Perl スクリプトはこんな感じ。 use utf8; use open ':utf8'; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; while (<>) { s/\p{Hyphen}/-/g; # または s/−/-/g; print; } 入力「12−234−5」に対して、 出力「12-234-5」を想定。 しかし一部の全角ハイフンだけが半角

    UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ
  • 全角ハイフンを含む文字列の文字コードを UTF-8 に変換すると文字化けする - make world

    Unicode には似た記号が多い おそらく原因は、Unicode に記号が多いため、全角ハイフンなのか全角のマイナス記号なのか区別がついていないからではないかと思われる。 Jcode Respect UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ Unicode - 似た文字同士にご用心 解決方法 文字コードを変換する前に、文字化けする文字を安全な文字に置換してしまう。最終的な出力を行う時に文字コードを変換する。 文字コードを変換する前に、文字列をバイナリ化して文字化けする文字を安全な文字に変換してしまう。 例: unpack と pack を利用するなど 最初の解決方法が一番簡単だと思われるが、正規表現でマッチさせる作業が入ると煩雑になる。

    全角ハイフンを含む文字列の文字コードを UTF-8 に変換すると文字化けする - make world
  • 技術志向 | Python 文字コードの判定と変換

    以外と知られていない? Python で文字コードを自動変換するロジックです。特別なモジュールはいりません。 適当な文字コードで str から unicode オブジェクトを生成(decode)します。 try して exception なら次の文字コードで変換を試みるという手順です。最後に unicode オブジェクトから指定の文字コードに変換(encode)した str を return します。unicode オブジェクトの生成に全て失敗したら そのまま return します。 import codecs def conv_encoding(data, to_enc="utf_8"): """ stringのエンコーディングを変換する @param ``data'' str object. @param ``to_enc'' specified convert encoding. @

  • PythonにおけるUnicodeとUTF-8の相互変換 - CtrlShift.net

    IT業界の動向、ソフトウェア開発技術、ネットの情報、アイデアをまとめて配信プログラミングで文字列を扱う際には、文字コードに注意することが大切です。 特に、Web上のデータをかき集めようと思ったら、様々な文字コードに出会うことになるので、文字コードの判定方法と変換方法は覚えておかねばならない、重要な項目の一つです。 と言いつつも、Pythonの文字コードに関する作法が、個人的によく忘れがちで、「あれ?!エラーが出たぞ!!」なんてことがしばしば。 しかし、これからはそんなことが起きないように、文字コードの変換方法をここに備忘録として記述しておこうと思います。 まず、UTF-8からUnicodeへの変換方法。 uni_text = unicode(utf_text,'utf-8') そして、UnicodeからUTF-8への変換方法。 utf_text = uni_text.encode('utf

  • 1