java中Base64字符串出現(xiàn)不合法字符的問題解決
1.base64編碼使用的合法字符類型如下:
- 大寫字母 A 到 Z
- 小寫字母 a 到 z
- 數(shù)字 0 到 9
- 加號(+)
- 斜杠(/)
- 等號(=)
其中,等號(=)通常用作 Base64 編碼的填充字符,用于補全最后一個編碼塊的長度,使其長度為 4 的倍數(shù)。在 Base64 編碼中,等號(=)最多出現(xiàn)兩個,分別用于補全最后一個編碼塊的 1 或 2 個字節(jié)
2.假如有下面這樣一個base64編碼的字符串
String bas = "/9j/4AAQSkZJRgABAgAAAQABA*^AD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofH"
其中出現(xiàn)了不符合base64編碼規(guī)則的字符。
可以使用 replaceAll(String regex,String replacement) 方法來去除不合法的字符。
public String replaceAll(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceAll(replacement); }
3.參數(shù)說明
regex
:一個正則表達式,用于匹配需要替換的部分。replacement
:一個字符串,用于替換匹配的部分。
該方法返回一個新的字符串,其中所有匹配正則表達式的部分都被替換為指定的字符串。
直接使用 bas來調用它
bas = bas.replaceAll("[^A-Za-z0-9+/=]", "");
該正則表達式表示:匹配不在 A-Za-z0-9+/= 范圍內的其他所有字符
這樣就將base64編碼的字符串中不合法的字符全部去除了?。?/p>
到此這篇關于java中Base64字符串出現(xiàn)不合法字符的問題解決的文章就介紹到這了,更多相關java Base64不合法字符內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java編程數(shù)組中最大子矩陣簡便解法實現(xiàn)代碼
這篇文章主要介紹了Java編程數(shù)組中最大子矩陣簡便解法實現(xiàn)代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01SpringBoot結合Redis實現(xiàn)會話管理功能
在Web應用程序中,會話管理是一項重要的任務,它涉及跟蹤用戶的身份驗證狀態(tài)和其他相關信息,以確保用戶在與應用程序交互時的連續(xù)性和安全性,在本文中,我們將探討如何使用Spring Boot和Redis實現(xiàn)高效的會話管理2023-06-06Java SSM框架(Spring+SpringMVC+MyBatis)搭建過程
最近一段時間搭建了ssm環(huán)境,并測試了幾個小項目,下面小編通過圖文并茂的形式給大家分享Java SSM框架(Spring+SpringMVC+MyBatis)搭建過程,需要的朋友參考下吧2017-11-11java逗號分隔String字符串及數(shù)組、集合相互轉換
我們在日常開發(fā)時會經(jīng)常遇到將一個字符串按照逗號進行分割,這篇文章主要給大家介紹了關于java逗號分隔String字符串及數(shù)組、集合相互轉換的相關資料,文中給出了詳細的代碼示例,需要的朋友可以參考下2024-02-02