9 个解决方案
#1
按这个数组是按什么编码方式来的,不要用default,解码和编码不一致就会乱码
#2
我是读取别人 C++ 接口 返回的字节数组 那我应该咋写啊 我现在想把这个字节数组为0的 全去除 不会写
#3
和末尾0没有关系,你去了该乱码还是乱码
#4
我的意思 是字节数组值为0 就是乱码 那我这个乱码不是因为这个关系呀?
#5
我的意思 是字节数组值为0 就是乱码 那我这个乱码不是因为这个关系呀?
你可以定义一个字节数组看看默认值是什么,转字符串得知道编码,除非只有基础英文数字等
#6
byte[] { 214, 184, 182, 0 }
前两个( 214, 184)构成 gbk 的 指
但前三个(214, 184, 182)并不能构成 utf-8 字符
所以你用 Encoding.Defalut.GetString 处理并无问题
你最好给出原始的数据
还应检查 0 值是如何得来的
前两个( 214, 184)构成 gbk 的 指
但前三个(214, 184, 182)并不能构成 utf-8 字符
所以你用 Encoding.Defalut.GetString 处理并无问题
你最好给出原始的数据
还应检查 0 值是如何得来的
#7
byte[] { 214, 184, 182, 0 }
前两个( 214, 184)构成 gbk 的 指
但前三个(214, 184, 182)并不能构成 utf-8 字符
所以你用 Encoding.Defalut.GetString 处理并无问题
你最好给出原始的数据
还应检查 0 值是如何得来的
这的回复是真的很赞。 一会结贴 给你多分。 原始数组在台式机上, 500的数组长度 , 现在的问题就是 正确的提示之后 跟着一大堆乱码
#8
字节0就是字符'\0'是字符串结尾的标志,后面的不用管了。Encoding.GetCharCount (Byte[]) 获取字符串长度参数。然后试试。
#9
为0也可能跟宽字节(w_char)补零有关,试下Encoding.Unicode.GetString()
#1
按这个数组是按什么编码方式来的,不要用default,解码和编码不一致就会乱码
#2
我是读取别人 C++ 接口 返回的字节数组 那我应该咋写啊 我现在想把这个字节数组为0的 全去除 不会写
#3
我是读取别人 C++ 接口 返回的字节数组 那我应该咋写啊 我现在想把这个字节数组为0的 全去除 不会写
和末尾0没有关系,你去了该乱码还是乱码
#4
我是读取别人 C++ 接口 返回的字节数组 那我应该咋写啊 我现在想把这个字节数组为0的 全去除 不会写
和末尾0没有关系,你去了该乱码还是乱码
我的意思 是字节数组值为0 就是乱码 那我这个乱码不是因为这个关系呀?
#5
我的意思 是字节数组值为0 就是乱码 那我这个乱码不是因为这个关系呀?
你可以定义一个字节数组看看默认值是什么,转字符串得知道编码,除非只有基础英文数字等
#6
byte[] { 214, 184, 182, 0 }
前两个( 214, 184)构成 gbk 的 指
但前三个(214, 184, 182)并不能构成 utf-8 字符
所以你用 Encoding.Defalut.GetString 处理并无问题
你最好给出原始的数据
还应检查 0 值是如何得来的
前两个( 214, 184)构成 gbk 的 指
但前三个(214, 184, 182)并不能构成 utf-8 字符
所以你用 Encoding.Defalut.GetString 处理并无问题
你最好给出原始的数据
还应检查 0 值是如何得来的
#7
byte[] { 214, 184, 182, 0 }
前两个( 214, 184)构成 gbk 的 指
但前三个(214, 184, 182)并不能构成 utf-8 字符
所以你用 Encoding.Defalut.GetString 处理并无问题
你最好给出原始的数据
还应检查 0 值是如何得来的
这的回复是真的很赞。 一会结贴 给你多分。 原始数组在台式机上, 500的数组长度 , 现在的问题就是 正确的提示之后 跟着一大堆乱码
#8
字节0就是字符'\0'是字符串结尾的标志,后面的不用管了。Encoding.GetCharCount (Byte[]) 获取字符串长度参数。然后试试。
#9
为0也可能跟宽字节(w_char)补零有关,试下Encoding.Unicode.GetString()