2011-09-28 263 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);