我有代码:
string text = sampleTextBox.Text;
我想知道编码文本是什么?它是utf16(因为它是字符串)或者它可能是我的操作系统编码?
答案 0 :(得分:9)
基本上都是Unicode - 在.NET文本类型(char
/ string
)和二进制文件之间没有转换,因此无需担心编码。
你可能需要担心代理对从char
和string
的UTF-16文本表示到完整的UTF-32,但这与正常的编码问题。
哲学上,文本框包含文本,而不是二进制数据。只有当转换为二进制格式时才应该考虑编码 - 例如文件。
答案 1 :(得分:3)
.Net中的字符串变量在内部是UTF-16。当您想要在程序外输出字符串时,编码就会起作用:文件,网页或以某种方式通过网络输出。