[過去ログ] Pythonのお勉強 Part63 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
877
(3): デフォルトの名無しさん (ワッチョイ bf8c-th+2) [] 2020/09/04(金) 13:27:43.28 ID:gLEobkXD0(1/5) AAS
utf-8で書かれたファイルを標準入力にあたえてタブで区切ってリストにしたいんですが文字化けしてしまいます。
ステップバイステップで色々試していくとどうもリストに入れると化けるみたいなんですが、なんでですか??
↓最終的にこんなプログラムで文字化けする/しないの差が出ます。
# -*- coding: utf-8 -*-
import sys
# stdin = "住所CD 都道府県CD 市区町村CD 町域CD 郵便番号 事業所フラグ 廃止フラグ 都道府県 都道府県カナ 市区町村 市区町村カナ 町域 町域カナ 町域補足 京都通り名 字丁目 字丁目カナ 補足 事業所名 事業所名カナ 事業所住所 新住所CD"

a = input().encode('unicode-escape').decode('utf-8').split("\\t")
[print(x.encode().decode('unicode-escape')) for x in a] #化けない
print([x.encode().decode('unicode-escape') for x in a]) #化ける
878
(1): デフォルトの名無しさん (ワッチョイ c701-JFwp) [sage] 2020/09/04(金) 14:04:13.24 ID:jvrr6lZ70(1/2) AAS
>>877
OSの種類とバージョンを書け
880
(3): デフォルトの名無しさん (ワッチョイ bf8c-th+2) [] 2020/09/04(金) 14:42:48.83 ID:gLEobkXD0(2/5) AAS
>>878
その通りでした。OSはWin10で、pyは3.8.5です。
DOSプロンプトから実行していてcp=932です。でも、>result.txtみたいにして出力していてutf-8で出力されてます。
あと、元々はinput().split('\t')をしたかっただけなんですが、文字化けしてしまって色々と調べてました。
文字化けの具合は>>877に書いた化けっぷりと同じです。
s = input()
print(s) # 正常
print(s.split('\t')) #化ける
という感じです。
883
(1): デフォルトの名無しさん (ワッチョイ 272c-3NJ+) [sage] 2020/09/04(金) 15:21:08.01 ID:Wl7qFIBb0(1) AAS
これは、どちらが正しいのか?

>>877
split("\\t")

>>880
split('\t')

コマンドプロンプトの文字コードの設定かな?
PowerShell で、やってみれば?

UTF-8 のBOM の有無とか?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s