Kon*_*lph 97
您需要使用encoding(System.Text.Encoding)来告诉.NET您期望的输出.例如,在UTF-16(= System.Text.Encoding.Unicode)中:
var result = System.Text.Encoding.Unicode.GetBytes(text);
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 41
首先找出你想要的编码:你需要先了解一下Unicode.
接下来解决哪个System.Text.Encoding对应的问题.My Core .NET refcard描述了大多数常见的,以及如何获取实例(例如通过静态属性Encoding或通过调用Encoding.GetEncoding.
最后,弄清楚你是否想要一次完成所有字节(这是最简单的工作方式 - 一次调用Encoding.GetBytes(字符串)并完成)或者你是否需要将它分成块 - 在这种情况下你是'我想使用Encoding.GetEncoder,然后一次编码一下.例如,编码器负责保持调用之间的状态,以防你需要在角色中途中断.
swi*_*ams 18
您使用的是什么编码?康拉德得到了相当多的下降,但还有其他人,你可以用错误的结果得到愚蠢的结果:
byte[] bytes = System.Text.Encoding.XXX.GetBytes(text)
Run Code Online (Sandbox Code Playgroud)
哪里XXX可以:
ASCII
BigEndianUnicode
Default
Unicode
UTF32
UTF7
UTF8
Run Code Online (Sandbox Code Playgroud)
像这样:
string test = "text";
byte[] arr = Encoding.UTF8.GetBytes(test);
Run Code Online (Sandbox Code Playgroud)