Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串转换为Unicode字节数组_Java_Unicode - Fatal编程技术网

Java 将字符串转换为Unicode字节数组

Java 将字符串转换为Unicode字节数组,java,unicode,Java,Unicode,我试图将字符串的Unicode值放入字节数组 我开始使用下面指定Ascii的代码。这给出了一个你所期望的数字列表 byte[] bytes = null; try { bytes = listOfApps.getBytes("US-ASCII"); }catch(Exception e){} Log.e(TAG, "bytes = " + Arrays.toString(bytes)); 。 因此,我将代码更改为以下代码以指定unicode byte[] bytes = null; t

我试图将字符串的Unicode值放入字节数组

我开始使用下面指定Ascii的代码。这给出了一个你所期望的数字列表

byte[] bytes = null;
try {
    bytes = listOfApps.getBytes("US-ASCII");
}catch(Exception e){}
Log.e(TAG, "bytes = " + Arrays.toString(bytes));
。 因此,我将代码更改为以下代码以指定unicode

byte[] bytes = null;
try {
    bytes = listOfApps.getBytes(Charset.forName("UTF-8"));
}catch(Exception e){}
Log.e(TAG, "bytes = " + Arrays.toString(bytes));
我仍然得到相同的输出。我想我会得到一个以\u开头的值数组。有人知道我做错了什么吗;
               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
char[]charArray=aStr.toCharArray(); for(int i=0;i您将始终从
字节[]中获得
字节
“多媒体资料|摄像头|联系人|电话|电子邮件|消息|设置”都可以用<128个代码点表示。您希望US-ASCII和UTF-8之间有什么区别?“将字符串转换为Unicode字符数组”字符
Char
和字节
byte
之间有区别-如果您实际指的是“字节数组”,请更新您的标题。您希望US-ASCII和UTF-8之间有什么区别?我需要一个像“\u00C6\u00D8\u00C5”这样的值数组。基本上,我要做的是向我的服务器发送应用程序名称列表,如Gallery | Camera | Contacts | Phone | Email | Messages | Settings。但根据应用程序的名称(Android),可能会有Web服务不喜欢的特殊字符。因此,作为一种解决方法,我考虑将字符串转换为unicode字符,因为这些字符将发送到服务器,您将获得实际的数值。”\u、 “…”(不是“/u…”!)只是一个数值的表示形式。因此,当您得到“71”时,它与“\u0067”相同\u00C6’只是198。所以如果你看到198,你有'\u00C6'。您期望“log”调用将输出显示为Unicode转义的是什么?这是一个不合理的期望。假设是其他人写的,而你,提问者,看到了。你能理解这是什么意思吗?你能理解回答者想告诉你什么吗?如果没有,请在回答中添加解释。
               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