2011-09-28 223 views
1

我想一個字符轉換爲字符串中使用以下方法:轉換一個char爲字符串

char aaa = '\uE001'; 

我想獲得與"\uE001"值的字符串,所以我可以用substring(2)僅獲得"E001" 。那可能嗎?請幫忙

回答

7

那麼,這個字符本身就是一個單個字符,U + E001。它有十六進制值0xE001。如果你想該值作爲一個整數,只需使用:

int unicodeValue = aaa; 

然後,您可以轉換該整數值以各種方式詛咒,如果你真的需要,例如:

String hex = Integer.toString(unicodeValue, 16); 

(這是假設java-me上的過載可用)。

...或Integer.toHexString如果可用但Integer.toString(int, int)不是。

爲什麼你想要這個值呢?如果你能澄清這一點,我們可能會給你更多有用的建議。

+0

如何獲取表示此字符的字符串,如「\ uE001」,表示6個不同的字符不是單個字符。我想使用子字符串,只是獲得「E001」 –

+1

@FaridFarhat:我已經給你代碼來獲得「E001」 - 爲什麼在這種情況下「\ u」部分重要? –

+0

@FaridFarhat你可以對Jon提供的結果使用字符串操作工具(substring,concatenation等)。所有其他答案將歸結爲這一點。 – cwallenpoole

1
Integer.toHexString((int)aaa) ; 

..並且不需要子字符串()。

0

你可以使用任何整數值,並從它創建一個十六進制字符串是這樣的:

String s = Integer.toHexString(num); 

所以喬恩斯基特是在正確的軌道上。您可以:

char aaa = '\uE001'; 
    int num = aaa; 
    String hex = Integer.toHexString(num); //now contains "e001" 
1

這是一個簡單的像

焦炭AAA = '\ uE001';

String s = String.valueOf(aaa);