Subject: 中日新聞:データの破損 Date: 2007年1月3日 15:47:44:JST Perlで EUC-JP などのテキストを,バイト単位ではなく,文字単位で処理する場合, 使用されている文字の範囲,及び文字コード間でのマッピングがどうなっているかを 把握しておかないと,不適切な処理をしてしまう可能性があるため,dicom2 にある 中日新聞 (/corpus/ChunichiShinbun/Chunichi1999-2003.euc) ではどうなるかを 確認するために,文字の一覧表を作成してみました。(文字コードは UTF-8。)  http://dicom1.gsid.nagoya-u.ac.jp/~ohna/chunichi/char_list.txt 一覧を見てもらうとわかりますが,記事の見出しと本文だけを対象に文字一覧を 作成したのに,Basic Latin (ASCII) の範囲の文字が含まれています。見出しと 本文は「全角文字」だけだと思っていたので,不審に思って,元ファイルを 確認してみると,部分的にデータがおかしくなっていました。 私が気がついた範囲では,二つの問題があるようです。 ■ 文字コード変換の問題 一つは,文字コードを変換をするときのミスです。どうも,Shift JIS で1文字の 全角文字だったものが,最初のバイトが消えてしまい,後のバイトだけが 残ってしまったようで,例えば,「(あつれき)」となるべきところが, 「iあつれき)」となってしまっています。(Shift JIS では「(」の1バイト目が 消えると「i」になってしまう。) 他にも同様のデータの破損が見られます。 ■ データの欠損 もう一つは,次のように,記事の一部が欠損しているものです。(一部が 欠けているというより,一部しかない,という感じです。) ---------------------------------------------------------------------- 20020405 中日新聞朝刊 25 朝刊運動1面                        ←ここと 930XN" width="5368" height="2464" type="JPS">                       ←ここの間 ---------------------------------------------------------------------- ----------------------------------------------------------------------    37,033山崎養世無新                          ←ここと C_H>                      ←ここの間 『可動堰を完全中止』 ---------------------------------------------------------------------- chunichi1999.euc から chunichi2003.euc まで,個別に文字リストを 作成してみましたが,文字一覧から見る限りでは,chunichi2002.euc に データの一部が欠けているものが多いような感じがします。 オリジナルのファイルで既にデータが壊れていたのであれば,こちらでは 修復しようがないので,中日新聞からデータをもらい直すしかないですが, オリジナルのデータはどうなっていますか? -- 名古屋大学大学院国際開発研究科 国際コミュニケーション専攻 大名 力 (Tsutomu OHNA) -------------------------------------------------------------------------------- Subject: 中日新聞 Date: 2007年1月11日 12:54:12:JST [データの欠損がオリジナルのファイルの方にも当てはまることなのか] 調べてみました。 作成した文字一覧から推測すると,どうも,文字コード変換の関係で 壊れたと思われる部分は大丈夫のようですが,もう一つの方の問題は 残っているようです。 記事本文には半角文字は使っていないようなので,> の後ろに半角文字が 来るものがあれば,データがおかしいと考えていいと思いますが, grep で検索してみると,次のように,おかしな行が検出されます。 ---------------------------------------------------------------------- $ grep '>[ -~]' chunichi2002.txt 930XN" width="5368" height="2464" type="JPS"> _P> d="G098012XN" width="3696" height="2376" type="UNKNOWN"> width="5278" height="3344"> 0" type="JPS"> ="2534" height="1320"> C_P> P> 2178" height="4136"> 178" height="2552"> > EXP> C_P> ---------------------------------------------------------------------- 2002年のものがおかしいですね。他のものは (少なくともこの点に関しては) 大丈夫のようです。 -- 名古屋大学大学院国際開発研究科 国際コミュニケーション専攻 大名 力 (Tsutomu OHNA)