您好,我是编程和网络开发的初学者。我有一个关于 ASCII 和 Unicode 编码的问题。
在 msdn 和其他网络示例中执行以下操作:
byte[] byteData = Encoding.ASCII.GetBytes(data);
这是因为这些代码示例是旧的吗?不应该是:
byte[] byteData = Encoding.Unicode.GetBytes(data);
感谢您的参与!
最佳答案
这取决于 - 您希望结果采用 ASCII 还是 UTF-16 格式?当你想要另一个时,每个都是错误的。
如果您正在谈论某种网络协议(protocol),您必须找出该协议(protocol)需要哪种字符编码。使用错误的编码,坏事就会发生。
当然,ASCII 有很多限制——它非常基于英语(只有拉丁字符,没有重音符号),但它对某些协议(protocol)是正确的。其他人可能会使用 UTF-16 (Encoding.Unicode)、UTF-8 或其他编码...或者他们会让您在协议(protocol)中自己指定编码。
关于C# ASCII 或 Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2042259/