java gsoap_gsoap c与java web之间传输字符串中文乱码问题 | 学步园
中文亂碼,也就是編碼問題不一致,我們也不深究用什么soap_set_mode用SOAP_C_MBSTRING還是SOAP_C_UTFSTRING 只需要我們對字符進行轉碼成一個統一規范就可以正常顯示了,比如c端把字符串轉碼成十六進制字符
代碼如下:
char* asc2hex(char *in)
{
char *ret;
int i,len;
if(in==NULL)return NULL;
len=strlen(in);
ret=(char*)malloc(len*2+1);
for(i=0;i
sprintf(ret+i+i,"%02X",*((unsigned char*)in+i));
return ret;
}
而java客戶端就可以寫一個解碼函數如:
// 轉化十六進制編碼為字符串
public static String toStringHex(String hexStr)
{
byte[] baKeyword = new byte[hexStr.length()/2];
for(int i = 0; i < baKeyword.length; i++)
{
baKeyword[i] = (byte)(0xff & Integer.parseInt(hrexSt.substring(i*2, i*2+2),16));
}
try
{
String str = new String(baKeyword, "gb2312");//linux操作系統設置字符集
}
catch (Exception e1)
{
e1.printStackTrace();
}
return str;
}
總結
以上是生活随笔為你收集整理的java gsoap_gsoap c与java web之间传输字符串中文乱码问题 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华硕灵耀 14 2023 旗舰版笔记本开
- 下一篇: java没有释放内存_java – G1