首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从bytearray创建unicode字符串

如何从bytearray创建unicode字符串
EN

Stack Overflow用户
提问于 2019-04-17 21:29:51
回答 1查看 183关注 0票数 0

我必须将一些包含本地化值的字符串保存到字节数组中。

然后,我必须从字节数组重新构造字符串

我将字符串编码为字节数组,如下所示:

代码语言:javascript
运行
复制
        byte addr = 0x08;
        for (String s : values) {
            char[] dataBytes = s.toCharArray();
            int length = s.length();
            for (int i = 0; i < 4; i++) {
                byte[] buffer = new byte[4];
                for (int j = 0; j < 4; j++) {
                    if(i * 4 + j < length ) {
                        buffer[j] = (byte) Character.codePointAt(dataBytes, i * 4 + j);
                    } else {
                        buffer[j] = (byte) 0;
                    }
                }
                nfcHandler.write(buffer, addr);
                addr++;
                TimeUnit.MILLISECONDS.sleep(10);
            }
        }

如何重建字符串?我试过了

代码语言:javascript
运行
复制
new String(bytes, StandardCharsets.UTF_8);

代码语言:javascript
运行
复制
bytes.toString(); 

但这两种方法都不起作用。

你知道怎么做吗?

请帮帮我...!

EN

Stack Overflow用户

发布于 2019-04-18 14:48:46

将字节数组解码为String的方式很好,但在编码方面做了太多的工作。请改用String.getBytes()方法:

代码语言:javascript
运行
复制
byte[] buffer = s.getBytes(StandardCharsets.UTF_8);
// use buffer at needed...
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55728718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档