C#ASCII或Unicode

嗨,我是编程和网络开发的初学者。 我有一个关于ASCII和Unicode编码的问题。

在msdn和其他Web示例中执行以下操作:

byte[] byteData = Encoding.ASCII.GetBytes(data); 

这是因为这些代码示例是旧的吗? 不应该是:

 byte[] byteData = Encoding.Unicode.GetBytes(data); 

感谢您的输入!

这取决于 – 您希望结果是ASCII还是UTF-16? 当你想要另一个时,每个人都错了。

如果您正在谈论某些网络协议,则必须找出协议所期望的字符编码。 使用错误的编码,坏事将发生。

当然,ASCII有很大的限制 – 它是基于英语的(仅限拉丁字符,没有重音符号),但它对某些协议是正确的。 其他人可能会使用UTF-16(Encoding.Unicode),UTF-8或其他编码…或者他们会让你自己在协议中指定编码。