VB.NET下字符串的默认编码是什么?

Pan*_*zza 7 .net vb.net string encoding

我有一个关于字符串的简单问题.考虑以下代码:

Dim S1 as String = "abc"
Run Code Online (Sandbox Code Playgroud)

S1的编码是什么?是UTF-8还是取决于用户窗口的本地设置?

一二三*_*一二三 6

System.String记载为使用UTF-16内部.


Hei*_*nzi 5

这是一个您不需要担心的实现细节(除非您离开Basic Multilingual Plane,在这种情况下事情会变得复杂,因为Chars 代表 UTF-16 代码单元)。

当它变得相关时,即当字符串转换为字节数组时,您必须选择要使用的编码:

Dim S1 As String = ...

Dim utf8Bytes = Encoding.UTF8.GetBytes(S1)
Dim utf16Bytes = Encoding.Unicode.GetBytes(S1)

Dim western As New Encoding(1252)
Dim westernBytes = western.GetBytes(S1)
Run Code Online (Sandbox Code Playgroud)