日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android之解决Base64 encode中文乱码问题

發布時間:2023/12/4 Android 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android之解决Base64 encode中文乱码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、問題

需求需要,把字符串轉化為UTF-8編碼之后需要base64.encode處理,但是我寫了

?

String ss = new String(value.getbytes("UTF-8"), "UTF-8");Base64.encode(ss);


死活出不來,依然亂碼,然后寫了檢測當前編碼格式,然后轉化成UTF-8,

?

String ss = new String(value.getbytes("GB1312"), "UTF-8"); Base64.encode(ss);

?

還是不行

?

?

?

2、原因

代碼封裝里面Base64.encode(String s)函數里面寫了這段代碼

{

???? byte[]? bytes =? s.getBytes("US-ASCII");

???? encodeBytes(bytes);

}

很明顯,特么轉成了“US-ASCII”編碼格式,前面轉的UTF-8格式做了無用功,特么像日了狗一樣

?

?

?

3、解決辦法和總結

不要寫成把字符串轉成UTF-8,因為到時候還是得轉成bytes,傳到Base64.encode函數里面去,我們直接這樣轉

Base64.encodeBytes(value.getBytes("UTF-8"));

以后一定要記得先看源碼,然后分析,還有就是要記得Base64執行encode的時候,我們直接傳編碼格式的字節流進去是最安全的,切記,以后不要換這個錯誤了。

?

總結

以上是生活随笔為你收集整理的Android之解决Base64 encode中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。