将.net String对象转换为base64编码的字符串

che*_*r89 33 .net string base64 encoding

我有一个问题,在将.NET字符串编码为base64时使用哪种Unicode编码?我知道Windows上的字符串是UTF-16编码的,所以我的编码方式是正确的吗?

public static String ToBase64String(this String source) {
        return Convert.ToBase64String(Encoding.Unicode.GetBytes(source));
    }
Run Code Online (Sandbox Code Playgroud)

Ada*_*son 26

你提供的功能非常实用.它将生成以UTF-16编码的源字符串字节的base64编码字符串.

如果您询问UTF-16是否可以表示字符串中的任何字符,那么是.UTF-16和UTF-32之间的唯一区别是UTF-16是可变长度编码; 它使用两个字节来表示子集中的字符,使用四个字节来表示所有其他字符.

没有UTF-16无法表示的unicode字符.

  • *"没有UTF-16无法表示的unicode字符."*或者实际上是任何其他转换(UTF). (2认同)