我正在尝试将String的Unicode值转换为Byte数组。
我开始使用以下指定Ascii的代码。这给出了您期望的数字列表。
byte[] bytes = null;
try {
bytes = listOfApps.getBytes("US-ASCII");
}catch(Exception e){}
Log.e(TAG, "bytes = " + Arrays.toString(bytes));
listOfAllApps = Gallery|Camera|Contacts|Phone|Email|Messages|Settings......
bytes = [71, 97, 108, 108, 101, 114, 121, 124, 67, 97, 109, 101, 114, 97......
。 所以我将代码更改为以下内容以指定unicode。
byte[] bytes = null;
try {
bytes = listOfApps.getBytes(Charset.forName("UTF-8"));
}catch(Exception e){}
Log.e(TAG, "bytes = " + Arrays.toString(bytes));
我仍然得到相同的输出。我以为我会得到一组以\ u开头的值。有人知道我做错了吗?
答案 0 :(得分:-2)
String aStr = "gallery|settings|À ";
char[] charArray = aStr.toCharArray();
for(int i = 0; i < charArray.length; i++){
int x = Character.codePointAt(charArray, i);
Log.e(TAG, "x = " + x);
}
x = 103
x = 97
x = 108
x = 108
x = 101
x = 114
x = 121
x = 124
x = 115
x = 101
x = 116
x = 116
x = 105
x = 110
x = 103
x = 115
x = 124
x = 192 //À
x = 32