文字化けハングルの復元(CP949)
Broken Hangul Recovery
CP949とUTF-8が絡んで壊れたハングルを、ありうる符号化の道筋ごとに戻して見せ、正しいものを選ばせます。
ある符号化で書かれたバイトを別の符号化として読むと、ハングルは뷁や안녕や占쏙옙になります。そしてどの壊れ方をしたかが、どの符号化の組み合わせだったのかを教えてくれます。このツールはありうる戻し方を全部試し、それぞれの結果を並べるので、韓国語として読めるものを選べます。
壊れた文字列
ファイル名、字幕、CSV の 1 行 — 何でも貼り付ければ、ありうる符号化の経路をすべて逆にたどります。
文字化けはたいてい損傷ではなく *読み違い* です。バイトはそのままで、違っていたのは表だけなので、同じ表で書き戻して正しい表で読めば文章は戻ります。だからここでは文字を推測せず、往復が成り立つ経路だけを候補にします。
字母が分かれて見える場合(ㅇㅏㄴㄴㅕㅇ)は符号化の問題ではなく Unicode の正規化の問題です。macOS はファイル名を NFD で保存し、Windows はその部品をそのまま見せます。この場合は合成するだけで済みます。
使い方
壊れた文字を貼るか、ファイルを置きます
ファイルならバイトをそのまま使うので、コピー&ペーストの時点ですでに壊れてしまった場合も戻せます。
候補を読みます
どの道筋も、前提にした符号化の名前が付いています。韓国語として読めるのは1つだけで、残りは別の種類の文字化けです。
この1本だけでなく、出どころを直します
CSVが毎回壊れて届くなら、問題は書き出し側の符号化です。1ファイルずつ手で戻すのは対症療法であって、治療ではありません。
よくある質問
どの候補でも戻りません
文字化けには不可逆なものがあり、それは元に戻せません。バイトが置換文字としてデコードされてしまった場合——占쏙옙の並びが典型です——元の値は失われており、どう符号化し直しても戻ってきません。
中身は無事なのに、ファイル名だけ壊れています
Windowsで作られたzipは、名前をCP949で、その旨の印を付けずに格納します。それをMacやLinuxの道具がUTF-8として読みます。壊れた名前をテキストとして貼ってください。中身は最初から影響を受けていません。
Excelがなぜ毎回CSVを壊すのですか
WindowsのExcelは、ファイルの先頭にUTF-8のバイト順マークがないかぎり、CSVをCP949として開くからです。BOMを付けて保存するか、開くのではなく取り込むと避けられます。
ここから渡せます
字幕形式変換
Subtitle Converter
SRT・VTT・ASS・SMI・素のテキストのあいだを変換し、ついでに文字コードの崩れも直します。
文字コードの判定・変換
Encoding Detector & Converter
ファイルの文字コードを候補ごとのプレビューで見比べて決め、UTF-8(BOMの有無)・UTF-16・EUC-KR/CP949で保存し直します。
住民登録番号のマスキング
Resident Number Masker
文章や表の列から韓国の住民登録番号を見つけ出し、法令が認める形に伏せます。
韓国の住所表記変換(地番⇄道路名)
Address Format Converter
韓国の地番住所と道路名住所を相互に変換し、ばらばらな住所の書き方を揃えます。
次の一手
このツールが出したものをそのまま受け取れる道具です。
CSVビューアー
CSV Viewer
大きな区切りファイルを丸ごとメモリに載せずに開き、列の型・統計・並べ替えを表示します。
字幕形式変換
Subtitle Converter
SRT・VTT・ASS・SMI・素のテキストのあいだを変換し、ついでに文字コードの崩れも直します。
文字コードの判定・変換
Encoding Detector & Converter
ファイルの文字コードを候補ごとのプレビューで見比べて決め、UTF-8(BOMの有無)・UTF-16・EUC-KR/CP949で保存し直します。
Unicode正規化
Unicode Normaliser
NFC・NFD・NFKC・NFKDを適用する、Macから来た日本語で濁点が分かれて見た目は同じなのに一致しないときの直し方です。
韓国の年齢計算(数え年)
Korean Age Calculator
生年月日から韓国の満年齢・年年齢・昔ながらの数え年を、任意の基準日で出します。
韓国の年次有給休暇計算
Annual Leave Calculator
韓国の年次有給が入社日基準と会計年度基準で何日発生しているかを、1年未満の規定まで含めて出します。