Pythonのお勉強 Part 26
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
300:デフォルトの名無しさん 08/05/12 17:11:39 単なる興味なのですが、Unicode文字列と等価なバイト列を得る方法をご教示頂けないでしょうか? 'hello'と等価なバイト列は'\x68\x65\x6c\x6c\x6f'です。 で、u'hello'と等価なバイト列は、例えば'\xff\xfe\x68\x00\x65\x00\x6c\x00\x6c\x00\x6f\x00' と思うのですが、pythonで両者の直接変換はできるのでしょうか?という質問です。 u'hello'.encode('utf-16')がほぼ等価ですが、これはあくまでエンコーディングなので、 直接バイト列を得てるわけじゃないのかな、と思った次第です。 301:デフォルトの名無しさん 08/05/12 17:19:12 内部表現はUCS2かUCS4だったと思うのだが 中身に触る方法はないほうがいいんじゃないかな 302:デフォルトの名無しさん 08/05/12 17:23:20 ord 関数じゃダメなんすか 303:デフォルトの名無しさん 08/05/12 20:12:59 >>300 文字列はエンコーディングを決めなければバイト列では表現できないよ。 > 'hello'と等価なバイト列は'\x68\x65\x6c\x6c\x6f'です。 ここで実は300さんはエンコーディングとして ASCII を仮定している(ASCII をサブセットとして含む 別のエンコーディングかも知れない)。例えば、もし EBCDIC を仮定していたら別のバイト列になる。 > pythonで両者の直接変換はできるのでしょうか? エンコーディングが分かっていればご存知の通り unicode() と .encode() で可能。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5387日前に更新/131 KB
担当:undef