在 Java 中将 ByteArray 转换为 String 时的奇怪字符

卡林

我有以下字节数组private byte[] file = new byte[40]

它接受最多 20 个字符的字符串。如果它较短,则数组的其余部分用零填充:

[116, 111, 117, 99, 104, 50, 46, 116, 120, 116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

此字节序列使用 Java 的套接字传输并转换回字符串以用作文件路径。

但是,在截断零并使用之后String filePath = new String(path);,在字符串的后面会产生一个奇怪的字符:

Appending to this file.. touch2.txt╚

截断方法:

 private byte[] trim(byte[] bytes){
        int i = bytes.length - 1;
        while (i >= 0 && bytes[i] == 0)
        {
            --i;
        }
        return Arrays.copyOf(bytes, i + 1);
    }

我如何摆脱这个角色?奇怪的是打印原始字节数组和被截断的数组给出了相同的字符序列。

dj_frunza

截断所有 0 字节后,序列末尾仍有字节3,很可能显示如下:╚。也许文本字节结尾(即3)不应该出现在您的序列中,或者 truncate 方法也应该截断该字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中将字符串转换为ArrayList <String>

来自分类Dev

无法在Java中将String转换为String []

来自分类Dev

在Java中将File []转换为String []

来自分类Dev

在Java中将double转换为String

来自分类Dev

在Java中将String转换为Date的问题

来自分类Dev

在Java中将String转换为枚举

来自分类Dev

在JAVA中将String转换为Char数组

来自分类Dev

在 Java 中将 String 转换为 LocalDateTime

来自分类Dev

在C#中将Office文档的ByteArray转换为PDF的ByteArray

来自分类Dev

Java String到byteArray的转换问题

来自分类Dev

在Java中将ArrayList <String []>有效转换为多行字符串

来自分类Dev

在Java中将字节转换为String时,会发生什么情况?

来自分类Dev

将ByteArray转换为UUID Java

来自分类Dev

如何在Flask Python中将Blob转换为byteArray?

来自分类Dev

如何在本机中将ByteArray转换为Image?

来自分类Dev

在Java中将JSON转换为List <List <String >>

来自分类Dev

在Java中将Queue <Deque <String >>转换为Object [] []

来自分类Dev

如何在Java中将String转换为Hashmap

来自分类Dev

在Java中将String转换为时间格式

来自分类Dev

如何在Java中将STRING转换为VARBINARY?

来自分类Dev

如何在Java中将String []数组转换为InputStream

来自分类Dev

如何在Java中将文化从int转换为String?

来自分类Dev

在Java中将String转换为数组2 D

来自分类Dev

如何在Java中将String转换为DateFormat?

来自分类Dev

谈到在Java中将int类型转换为String类型

来自分类Dev

在Java(Android)中将List <String>转换为List <ClassType>

来自分类Dev

如何在Java中将String转换为Integer

来自分类Dev

如何在Java中将byte []转换为String?

来自分类Dev

在Java中将ArrayList <String>对象转换为整数

Related 相关文章

热门标签

归档