私はこのような入力文字を持っています。この文字の場合、私はこれと同等のHexエンティティ "0C08"が必要です。これはjavaのinbuilt関数はありますか?Telugu文字をJavaのUTF-8エンコード文字に変換するには?
ありがとうございます。
私はこのような入力文字を持っています。この文字の場合、私はこれと同等のHexエンティティ "0C08"が必要です。これはjavaのinbuilt関数はありますか?Telugu文字をJavaのUTF-8エンコード文字に変換するには?
ありがとうございます。
javaの文字はユニコードで保持されます。 外部バイトストリームから読み書きするときにエンコーディングを指定する必要があります。あなたはUTF-8エンコーディングの進表現をしたい場合は、この試行し、 :
//not optimized
String toHex(byte[] b) {
String s="";
for (int i=0; i<b.length; ++i) s+=String.format("%02X",b[i]&0xff);
return s;
}
System.out.println(toHex("ఈ".getBytes("UTF-8"))); //prints E0B088
を
String value = columnDetails.getColumnName();
System.out.println(value); //output with default encoding
System.out.write(value.getBytes("UTF-8"));//output with UTF-8
編集:このコードはUTF-8コンソール上の2つの同じ行を印刷する必要があります
注意
Edit2:またはUnicode(2バイト表現)を使用する場合:
static String toHex(String b) {
String s="";
for (int i=0; i<b.length(); ++i) s+=String.format("%04X",b.charAt(i)&0xffff);
return s;
}
System.out.println(toHex("ఈ")); //prints 0C08
申し訳ありません私はmyquestionを編集しています –
私は多くの研究をしましたが、私はJavaでinbuilt関数を取得しませんでした。私がしたのは、テルグ語のUnicodeに相当する既知のクラスが作成され、その単語が形成されました。すべてのあなたの助けをありがとう –
解明_(これはすべてのTelegu文字がBMPにあるのでOPの質問には影響しません):_ JavaはUTF-16(以前はUCS-2)のUnicode文字を使用しています。 'char'プリミティブデータ型は16ビットです。 Javaの 'String'はすべてのUnicodeコードポイントを表すことができますが、' char'はBMP内のもの( '\ u0000'-' \ uffff'の範囲)のみを表すことができます。 –
Java文字列はUですTF-16。 UTF-8を入手するには、次のようなコードを書いてください。
String string = "SomethingInTeluguOrwhatever";
byte[] utf8Bytes = string.getBytes(Charsets.forName("utf-8"));
これでUTF-8値が得られます。 hexを使用する場合は、バイトを反復して16進数で出力します。
あなたは 'CP850'エンコーディングでバイトを取得しています。次に、バイトが' UTF-8'であるところに新しい 'String'を作成しています。なぜあなたは 'String'コンストラクタに嘘をつきますか?どうして?あなたのコードは 'String value = columnDetails.getColumnName();'でなければなりません。 – Kayaman
私は与えられた入力[それまでどんな形式であったか]をUTF-8エンコーディング形式に変換したいと思います。私はそのコードを試みたが、それは動作していません。 –
私は、1つのチャーターがあれば、同等のUTF-8文字が必要だと言っています。 –