java字串中NUL域的去除

2021-07-07 03:11:56 字數 571 閱讀 9596

在做加解密的時候,遇到了乙個問題:解密出來的字串中間,不可預期地出現了一些null域,如圖中輸出:

圖中紅框中的nul輸出就是這些null域,這些null域影響了業務的後續處理,所以必須去除這些nul。

研究了一下這個輸出,不難發現這些null輸出,在字串的位元組陣列裡很容易發現,這些null也是佔「地兒」的。所以只需要將這些"地兒"去除:去掉ascii碼值為0的位元。

/**

* 去除字串中的null域

* @param string

* @return

* @throws unsupportedencodingexception

*/public static string trimnull(string string) throws unsupportedencodingexception

{arraylistlist = new arraylist();

byte bytes = string.getbytes("utf-8");

for(int i=0;bytes!=null&&i

Java去除字串中的空格

strim或者trip都是只能去除頭部和尾部的空字串。中間的部分是不能夠去除的 推薦使用apachecommonse的stringutils.deletewhitespace a b c 刪除所有空格。如果我自己寫,我會採用foreache遍歷每乙個字串中的字元然後利用stringbuilder追加...

去除字串中重複字元

設計演算法並寫出 移除字串中重複的字元,不能使用額外的快取空間。注意 可以使用額外的乙個或兩個變數,但不允許額外再開乙個陣列拷貝。進一步地,為你的程式寫測試用例。這道題目其實是要你就地 in place 將字串中重複字元移除。你可以向面試官問清楚,不能使用額外的乙份陣列拷貝是指根本就不允許開乙個陣列...

去除字串中的emoji字元

對於使用utf8編碼的mysql資料庫來說,如果字串中存在emoji小影象,是不能存進資料庫中的,查了一下,原因大概是因為utf8編碼可以存1 3個位元組的字元,但是emoji是4個位元組 解決方法可以把mysql的編碼換成utf8mb4,需要相應版本的mysql 另外一種方法是把字串中所有的emo...