Dot-Net
將 .net 字元串對象轉換為 base64 編碼字元串
我有一個問題,將 .NET 字元串編碼為 base64 時使用哪種 Unicode 編碼?我知道字元串在 Windows 上是 UTF-16 編碼的,那麼我的編碼方式是正確的嗎?
public static String ToBase64String(this String source) { return Convert.ToBase64String(Encoding.Unicode.GetBytes(source)); }
您提供的功能非常完善。它將生成以 UTF-16 編碼的源字元串字節的 base64 編碼字元串。
如果您詢問 UTF-16 是否可以表示字元串中的任何字元,那麼可以。UTF-16 和 UTF-32 的唯一區別是 UTF-16 是可變長度編碼;它使用兩個字節來表示子集中的字元,並使用四個字節來表示所有其他字元。
沒有不能用 UTF-16 表示的 unicode 字元。