C#字节数组转换string长度问题

byte[]a=newbyte[1024];MessageBox.Show(Encoding.Default.GetString(a).Length.ToString()... byte[] a = new byte[1024]; MessageBox.Show(Encoding.Default.GetString(a).Length.ToString()); 显示1024,但这个字节数组是为赋值的,怎么才可以得到转换为string类型后的真实长度? 展开
 我来答
蹇安宦妙珍
2020-01-27 · TA获得超过3740个赞
知道大有可为答主
回答量:3094
采纳率:31%
帮助的人:218万
展开全部
字符在c#中很容易转化成字节数组的!
但字符串可不同的编码下有不同的编码方式,而字节就是一个字节,在任何编码下都是相同的,所以在转化之前我们必须先了解string是在什么样的编下。
如果是在utf-8编下的情况下,我们可以使用
byte[]
buffer
=
encoding.utf8.getbytes("要转化的字符串");
如果事先我们知道这种编的名字,那么这名方式也是不错的!
byte[]
buffer
=
encoding.getencoding("utf8").getbytes("要转化的字符串");
卞魇By
2021-08-31
知道答主
回答量:22
采纳率:100%
帮助的人:7881
展开全部
public static string StringToBaseLengthString(ref byte[] array)
{
string str = Encoding.Default.GetString(array);
string result = "";
for (int i = 0; i < str.Length; i++)
{
if (str[i] == '\0')
break;
result += str[i];
}
return result;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式