Dot-Net

將 .net 字元串對象轉換為 base64 編碼字元串

  • April 13, 2010

我有一個問題,將 .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 字元。

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