1. 程式人生 > >Android之解決Base64 encode中文亂碼問題

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中文亂碼問題

1、問題 需求需要,把字串轉化為UTF-8編碼之後需要base64.encode處理,但是我寫了 String ss = new String(value.getbytes("UTF-8"), "UTF-8"); Base64.encode(ss); 死活出不來,依然亂碼

SpringMVC如何解決POST請求中文亂碼問題,GET的又如何處理呢?

rec ppi utf-8 proto style app 亂碼問題 ping 解決 在web.xml中 <filter> <filter-name>CharacterEncodingFilter</filter-name>

解決servlet請求中文亂碼的通用過濾器程序

狀態 odin blog 完成 ktr try nds pos ren import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Map; impor

解決mssql localdb 中文亂碼問題

database alt use ldb mdf lba local 查詢 mssq 使用以下查詢語句即可。 alter database "E:\.Net Core\Database\hm.mdf" set single_user with rollback immedi

解決jdbc MySQL中文亂碼問題

spa style mysql安裝 亂碼問題 img images mysql ges 安裝 進MySQL安裝目錄,打開my.ini        這兩個地方改成gbk               重啟服務解決jdbc MySQL中文亂碼問題

關於netbeans解決c/c++中文亂碼的問題

開發環境的問題關於netbeans解決c/c++中文亂碼的問題

解決spring boot中文亂碼問題

地址 今天 解決 正常 img alt mage com 沒有 在開發或學習當中,我們不可避免的會碰到中文亂碼的問題(好想哭,但還是要保持微笑!) 今天,在學習spring boot中碰到了中文亂碼問題。 首先,看了一下workspace是不是設置utf-8默認字符集:

遠程連接Oracle 服務器 解決Oracle查詢中文亂碼

nbsp OS scott developer 日期 ace use dos 服務器端 Dos方法: 依托於 目錄下的文件 使用plsql developer 客戶端軟件進行連接 需要配置一下: 就是把Dos的客戶端配置進來 然後,把服務器端的文件拷貝到你

Linux/Centos解決安裝oracle11g中文亂碼的問題

Oracle Linux Centos 系統 運維 解決Linux下安裝oracle11g中文亂碼的問題新建一個目錄,上傳字體包zysong.ttf到新建的目錄,命令如下: #mkdir –p /usr/share/fonts/zh_CN/TrueType #cd /usr/share/f

weui不帶time的日期選擇框同時解決確定按鈕中文亂碼問題

<input class="weui_input" id="start_time" style="float: left;width:40%" type="text" readonly value="" />   $("#start_time").dateti

Python程式設計:解決matplotlib繪圖中文亂碼問題

測試環境: mac python3 先檢視本機支援的字型 # 顯示可以用的中文字型 from matplotlib.font_manager import FontManager import subprocess def show_can_use_

解決配置vim中文亂碼的問題

解決linux下vim亂碼的情況:(修改vimrc的內容) 全域性的情況下:即所有使用者都能用這個配置 檔案地址:/etc/vimrc 在檔案中新增: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencodin

Servlet解決瀏覽器顯示中文亂碼

建立 test.java 程式碼: @WebServlet("/test") public class test extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResp

解決MySQL匯入中文亂碼

 匯入檔案xxdb.sql 包含資料庫中表結構和資料,charset——utf8mb4 ,collate——utf8mb4_unicode_ci 1. create database xxdb charset utf8mb4 collate utf8mb4_unicode_ci

解決java專案中文亂碼問題

javaweb專案中文亂碼問題解決 字元編碼集問題總結 ** 字元編碼集問題總結 : 首先,要在建立資料庫的時候要指定編碼(來使資料庫支援中文)。如果是在cmd命令列視窗中進行操作來建立mysql資料庫的話,就要使用額外的語句

兩分鐘解決IntelliJ IDEA中文亂碼問題

1.首先是編輯器的亂碼,這個很好解決,file->settings->appearence裡面有個Name設定成支援中文的字 體(這個很重要) 同樣還要再settings中的Eidtor->File Encodings裡面設定字型編碼格式,一般都是UT

解決python matplotlib中文亂碼問題

修改配置檔案matplotlibrc Python36\site-packages\matplotlib\mpl-data\matplotlibrc 如下最後l兩行: #font.size

完美解決jspdf各種中文亂碼問題

我就像一個啞巴一樣 今天分享一下完美解決jsPDF生成pdf出現亂碼的問題,包括文字,表格表頭已經表格內部出現亂碼的問題~首先老規矩把程式碼clone下來 git clone https://github.com/MrRio/jsPDF.git複製程式碼 然後

解決XBMC / OpenELEC中文亂碼

XBMC / OpenELEC 在安裝後大家是不是和小編一樣,發現沒有中文? 可是要怎麼設定成中文呢?小編下面就為大家說明:1.滑鼠移動到 SYSTEM然後點選 SettingsTips:也可以直接點選SYSTEM預設進入Settings2.點選Appearance3.點選

解決python爬蟲中文亂碼問題

今天在用python爬取網頁資料時中文顯示亂碼,最終發現是目標網頁編碼與python預設編碼‘utf-8’不一致導致的。下面把解決方法與大家分享。 step1:檢視目標網頁編碼方式 在各種瀏覽器開啟的任意頁面上使用F12功能鍵,即可使用開發者工具,在視窗console標籤下,鍵入“d