2016-04-22 6 views
0

私は、実際のテキストの代わりにUTF-8コードを含むオンラインで見つかったリソースを使用しています(それはアラビア語なので)私はこれをJavaの本物のテキストに変換します。例えばUTF-8コード(例:E052E472E04F)をテキストに変換する

breakme〜E052E472E04FE46CE04EE051E46F0020E027E04BE43EE052E484E04EE4370020E052E027E47EE04FE478E050E473E412E04EE4630020E052E472E04FE46CE050E051E421E04EE051E0310020E476E050E4730020E050E051E466E04EE434E052E46FE41EE050E4210020E04FE044E47EE04FE443E04EE051E43EE46FE0270020E04FE472E04FE46BE021E41EE04EE42F0020E052E43AE04EE4670020E04FE033E41EE04EE051E478E46FE0270020E41EE04EE47CE04FE051E483E04EE0230020E41EE04EE483breakme

ありがとうございました。

EDIT:

私は逆に、ソースコードを設計し、ここで私が見つけたものです:

public char[] getUnicodeString(String paramString) { 
    int j = paramString.length()/4; 
    char[] arrayOfChar = new char[j]; 
    int i = 0; 
    for (; ;) { 
     if (i >= j) { 
      return arrayOfChar; 
     } 
     arrayOfChar[i] = ((char) Integer.parseInt(paramString.substring(i * 4, i * 4 + 4), 16)); 
     i += 1; 
    } 
} 

は、役立つだろうか?

+0

O.o「UTF-8形式」と言ったとき、人々が通常意味するものではありません。それは16進数のバイトで、UTF-8として解析されるはずなのでしょうか? –

+0

笑。ごめんなさい。私が言ったように、私はこれについて完全に知らない。 –

答えて

1

つまり、UTF-8ではなく、です。 UTF-8は、バイトが00-7Fの範囲内の単一のものであるか、C0-FFの範囲の最初のバイトの複数のもので、次に80-BFの範囲の1〜3バイトのエンコーディングです。示されたシーケンスはそのパターンと一致しないため、UTF-8にすることはできません。

0020の値を持つ2バイトのエンコードが、ユニコードの空白文字のように見えます。 0020は、スペース、値の残りの部分のように見えるが、そう

E052 E472 E04F E46C E04E E051 E46F 0020 
E027 E04B E43E E052 E484 E04E E437 0020 
E052 E027 E47E E04F E478 E050 E473 E412 E04E E463 0020 
E052 E472 E04F E46C E050 E051 E421 E04E E051 E031 0020 
E476 E050 E473 0020 
E050 E051 E466 E04E E434 E052 E46F E41E E050 E421 0020 
E04F E044 E47E E04F E443 E04E E051 E43E E46F E027 0020 
E04F E472 E04F E46B E021 E41E E04E E42F 0020 
E052 E43A E04E E467 0020 
E04F E033 E41E E04E E051 E478 E46F E027 0020 
E41E E04E E47C E04F E051 E483 E04E E023 0020 
E41E E04E E483 

:あなたは離れ2バイトの16進コードを表示し、0020スペースの後に行を分割した場合、あなたはこのもう少し人間が読めるシーケンスを取得しますExxxであり、E000-F8FFの範囲全体が、「私的使用」のためにユニコードで定義されている。

それは何であるか分かりませんが、ユニコードのUTF-8またはUTF-16エンコードではありません。

古いDBCS(2バイト文字セット)のコードページがあります。

+0

今、私は何をしますか?ありがとうございました。 (私の編集を参照してください) –

+0

彼らはUTF-16のように扱っているようですが、非標準のアラビア語のテキストのために私的使用領域を使用しています。 – Andreas

+0

しかし今何?ははは。私はちょうどそれを解析するために上のメソッドを使用できますか? –

関連する問題