teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

問題に直接関係しないと思われる記述を削除

2018/11/02 23:50

投稿

morinatsu
morinatsu

スコア395

answer CHANGED
@@ -1,9 +1,5 @@
1
1
  Pythonの処理を始める以前の、wiki_wakati.txtの時点で、既にファイルが壊れている(≒正しいBOM無しUTF-8でない)と想像します。
2
2
 
3
- > ソースコード内のwiki-wakati.txtの文字コードをEmacsで確認したところ、文字コードはBOM無しUTF-8になっているのですが、
4
-
5
- テキストファイル中の文字コードは自明ではありません。そのためテキストエディタはファイルの一部を読み取り、既知の文字コードをいろいろ当てはめて試し読みして、たまたまハマったものを採用する……というようなことをやっています。
6
-
7
3
  では、こういうときどうするかというと、ダウンロードした時点からコマンドで加工するステップの1つ1つについて、エディタか他のツールでファイルを開き、どの時点でファイルが壊れたか探るということを繰り返します。(Emacsが早いでしょう。同じエラーメッセージがでるかどうかで判断できるので)
8
4
 
9
5
  この手の問題に多少慣れてくると、「エラーメッセージが出てから首を捻るより、コマンドで加工する度にいちいち確認した方が着実で早い」くらいに思えてくるはずです。