ファイルがWindows-1256かどうかを知りたいです。JavaでテキストファイルがWindows-1256かどうかを認識する方法はありますか?
3 に答える
0
于 2012-04-16T07:20:14.010 に答える
0
Windows-1256 (アラビア語)、UTF-8、および Windows-1252 (西ヨーロッパの一部) を選択できるとします。次に、UTF-8 (無意味なシーケンス) や Windows-1252 などの間違ったエンコーディングの証明を登録できます。とにかく、Windows-1252 のいくつかのシーケンスは、UTF-8 に対して解析不能な例外をスローします-
try {
readInUTF8(file);
} catch (IsWindows1256Exception e {
readInWindow1256(file);
}
(疑似コード)
于 2012-04-16T09:30:09.947 に答える
0
ファイルにエンコーディング ヘッダーを追加します。多くのテキスト エディタはこれを行います。
# -*- coding: cp1256 -*-
それ以外に、これを行うための信頼できる方法はありません。
問題は、cp12xx エンコーディングが互いにあまり変わらないことです。画面上では異なって見えますが、ファイルのデータには、アラビア語0x8a
( ٹ
1256) または Š (1250 および 1252) または何も意味しない (1255) と書かれているものはありません。
PS: 右から左の問題のため、最後の文が間違っているように見えます。コード「(1256)」は、実際にはアラビア文字の後にあります。
于 2012-04-16T09:09:05.607 に答える