将String转换为Unicode Byte数组

时间:2016-06-06 21:05:05

标签: java unicode

我正在尝试将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开头的值。有人知道我做错了吗?

1 个答案:

答案 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