例如,我尝试转换ASCII值为65的字符代码(字符“A”)。
我的Java代码如下:
char a = 65;
String c = String.valueOf(a);
byte bt[] = c.getBytes();
String result = Base64.encodeToString(bt, Base64.DEFAULT);
我的.NET代码如下:
Dim c As String = Chr(65)
Dim result as String = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(c))
这两个都返回相同的结果:"QQ=="。这很好。但是当我尝试转换一个特殊字符,例如字符代码153时,它会返回不同的结果。
char a = 153;
String c = String.valueOf(a);
byte bt[] = c.getBytes();
String result = Base64.encodeToString(bt, Base64.DEFAULT);
这将返回 "wpk=",以下是相同的.NET代码:
Dim c As String = Chr(153)
Dim result as String = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(c))
这将返回"4oSi"
这很奇怪。这里有什么问题。我在两个平台上都使用了本地的Base64库。我的代码有什么问题吗?