トップページ > プログラム > 2015年09月03日 > 26WurM6V

書き込み順位&時間帯一覧

8 位/172 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000022004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれPython(超初心者用) その26 [転載禁止]©2ch.net

書き込みレス一覧

くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
973 :デフォルトの名無しさん[sage]:2015/09/03(木) 20:40:51.42 ID:26WurM6V
python3.4の文字の扱いについてご教示願います

title = browser.title
t = title.encode('utf-8')
d = t1.decode('utf-8')
print(d)

変数titleにはWebサイトから取得した文字コードS-JISのページタイトル(GMO証券)が入っています。
titleの内容を文字コードUTF-8に設定したターミナル上に出力する際に文字化けしないように
S-JISからUTF-8に文字コード変換したいのですが、上記内容のコードでは上手くいきません。


原因がわかる方いましたら、お手数ですがご教示願います。


【補足】
・ターミナルの文字コード設定をS-JISに変更すれば、文字化けしないで表示することが出来ます。
・ターミナルはminttyを使用しています

以上
くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
974 :デフォルトの名無しさん[sage]:2015/09/03(木) 20:48:12.64 ID:26WurM6V
申し訳ございません、変数名に誤りがありました。
正しくは以下の通りです。


d = t1.decode('utf-8')


d = t.decode('utf-8')

以上
くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
977 :デフォルトの名無しさん[sage]:2015/09/03(木) 21:22:02.94 ID:26WurM6V
>>975
ご回答有り難うございます。

>titleがshift_jisでエンコードされたbytesと仮定して答えます

申し訳御座いません。データ型の情報が不足しておりました。
type(title)の出力結果は、<class 'str'>です。
くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
980 :デフォルトの名無しさん[sage]:2015/09/03(木) 21:44:17.93 ID:26WurM6V
>>979
回答有り難うございます。

> Webサイトが送ってくるページタイトルはsjisでしょ?
SJISの内容のページタイトルが送られてくるので素直にSJISでエンコード→デコードしてあげれば
文字化けしていない正しい内容が得られるからUTF-8に変換する必要なんて無いって事ですかね?

以下の様にコードを修正して再実行してたところやはり文字化けしてしまいます。
んー、バカなので難しいですな。。

title = browser.title.encode('shift_jis')
t = title.decode('shift_jis')
print(t)


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。