java中字符串如何計(jì)算字節(jié)長(zhǎng)度
java字符串計(jì)算字節(jié)長(zhǎng)度
通常,計(jì)算字符串長(zhǎng)度大小方法很多,熟悉的有將字符串寫入文件,然后讀取文件大小即可。這種方式還是比較麻煩的。
1.方法一
需要先拿到字符串===》然后再寫入文件===》再讀取文件===》統(tǒng)計(jì)文件字節(jié)流長(zhǎng)度===》可以拿到字符串的字節(jié)大小
2.方法二
//編碼格式有 UTF-8 GB2312 GBK UTF-16 UTF-32 try { int length = "測(cè)試不同編碼格式的字節(jié)長(zhǎng)度".getBytes("編碼格式").length; } catch (UnsupportedEncodingException e) { e.printStackTrace(); }
通過String的getBytes()方法去統(tǒng)計(jì)它的length,這樣是最方便的,但是有個(gè)不好之處就是設(shè)置編碼格式,這個(gè)還是有很大影響的,采用那種編碼格式計(jì)算計(jì)算出來的字節(jié)長(zhǎng)度不一樣,所以這個(gè)比較重要。
能想到的比較好的方法,就是將編碼格式設(shè)置在配置文件中,這樣不影響字符串的字節(jié)長(zhǎng)度計(jì)算,也比較靈活,采用那種編碼格式,就設(shè)置成什么的,后期好維護(hù)。
3.代碼中運(yùn)用
java截取字符串的指定字節(jié)數(shù)長(zhǎng)度
由于Java字符串的length計(jì)算的是字符長(zhǎng)度,而數(shù)據(jù)庫(kù)的限制長(zhǎng)度是字節(jié)數(shù),為了防止報(bào)錯(cuò),可以在Java程序中截取字符串的指定字節(jié)數(shù)長(zhǎng)度
public static String getLenString(String content, int len) { if (content == null || content.length() == 0) { return content; } byte[] bytes = content.getBytes(); if (bytes.length > len) { int tempLen = new String(bytes, 0, len).length(); content = content.substring(0, tempLen); // 防止最后一個(gè)字符的長(zhǎng)度不是一個(gè)字節(jié)數(shù) if (content.getBytes().length > len) { content = content.substring(0, tempLen - 1); } } return content; }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決spring?data?jpa?saveAll()?保存過慢問題
這篇文章主要介紹了解決spring?data?jpa?saveAll()保存過慢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11詳解SpringMVC學(xué)習(xí)系列之國(guó)際化
這篇文章主要介紹了詳解SpringMVC學(xué)習(xí)系列之國(guó)際化,詳細(xì)的介紹了關(guān)于瀏覽器,Session,Cookie,URL請(qǐng)求的國(guó)際化的實(shí)現(xiàn),有興趣的可以了解一下2017-07-07spring redis 如何實(shí)現(xiàn)模糊查找key
這篇文章主要介紹了spring redis 如何實(shí)現(xiàn)模糊查找key的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Java服務(wù)剛啟動(dòng)時(shí)接口超時(shí)排查全過程
這篇文章主要為大家介紹了Java服務(wù)剛啟動(dòng)時(shí),一小波接口超時(shí)排查全過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Java修飾符abstract與static及final的精華總結(jié)
abstract、static、final三個(gè)修飾符是經(jīng)常會(huì)使用的,對(duì)他們的概念必須非常清楚,弄混了會(huì)產(chǎn)生些完全可以避免的錯(cuò)誤,比如final和abstract不能一同出現(xiàn),static和abstract不能一同出現(xiàn),下面我們來詳細(xì)了解2022-04-04