Dot-Net
VB.NET 下字元串的預設編碼是什麼?
我有一個關於字元串的簡單問題。考慮以下程式碼:
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)