Dot-Net

VB.NET 下字元串的預設編碼是什麼?

  • April 27, 2012

我有一個關於字元串的簡單問題。考慮以下程式碼:

Dim S1 as String = "abc"

S1的編碼是什麼?那是 UTF-8 還是取決於使用者 Windows 本地設置?

System.String記錄在內部使用 UTF-16。

這是一個您無需擔心的實現細節(除非您離開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)

引用自:https://stackoverflow.com/questions/10350017