问题描述
- VB中base64编码如何转换到Android中,已有初步代码,但转换结果不一致
-
没搞过VB 现在给我一串VB中的base64编码,移植到Android中,按照我的想法写好之后,发现编码之后的结果并不一样,请大家给我看看。
VB:Set m_oXMLElement = m_oXMLDoc.createElement("TmpBase64") m_oXMLElement.dataType = "bin.base64" Public Function Encode(ByVal strIn As String) As String Dim oElement As Object Dim aData() As Byte On Error GoTo errEncode: If m_bXMLObjectOK And Len(strIn) > 0 Then aData = StrConv(strIn, vbFromUnicode) '将Unicode编码转换为系统缺省码页 m_oXMLElement.nodetypedvalue = aData Encode = m_oXMLElement.Text m_oXMLElement.Text = "" End If Exit Function errEncode: RaiseError Err.Number, Err.Description End Function
Android:
public String encode (){
String test = testText.getText().toString();//从TextView控件中取得字符串
String code = Base64.encodeToString(name.getBytes(), Base64.NO_WRAP);TEST_CODE = code;
return TEST_CODE;两个测试中文,返回的结果不一样。
解决方案
解决了。
byte[] testCode= null;
try {
testCode = Base64.encode(test.trim().getBytes("GB2312"), Base64.NO_WRAP);
Test_CODE = new String(testcode, "GB2312");
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return Text_CODE ;
解决方案二:
在http://base64.xpcha.com/这个网站看下,哪个是错了。
时间: 2024-08-05 12:33:39