将Char[]转换为List<byte> (c#)

4
我该如何将任意长度的Char[]转换为List?
2个回答

16

首先要明白的是,在.NET中,字符不等同于字节。要在字符(文本类型)和字节(二进制类型)之间进行转换,需要使用编码(请参见System.Text.Encoding)。

编码将帮助您在字符串/char []和byte []之间进行转换。一旦您获得了一个字节数组,有多种方法可以将其转换为List<byte> - 尽管您甚至可能不需要这样做,因为byte []实现了IList<byte>。

有关文本转换方面的更多信息(以及更多文章的链接),请参阅我的Unicode文章


我在回答中错过了byte类型的要求,因为在原始问题中没有提到。因此,请为这个答案点赞 ;) - OregonGhost
Jon在文章中没有深入回答的问题吗?开玩笑的,我喜欢他们! - Goran
2
“Jon在文章中没有深入回答的问题吗?”哦...我想我没有回答那个问题的文章。必须得解决 ;) - Jon Skeet

6
我已经成功使用以下方法来完成工作:
byte[] arr = new System.Text.UTF8Encoding( true ).GetBytes( str );
List<byte> byteList = new List<byte>( arr );

感谢您的帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接