で、「
後ろから前にインターセプト文字列の長さ
、」文字列を傍受する方法について説明し、統計的な記事では、文字列のどのバイト長を記述する。
インポートorg.slf4j.Logger; インポートorg.slf4j.LoggerFactory; インポートjava.io.UnsupportedEncodingException、 パブリック クラスGETLENGTH { プライベート 静的 最終ロガーロガー= LoggerFactory.getLogger(GETLENGTH。クラス); // コード プライベート 静的 最終列= ENCODE_UTF 「UTF-8」; / ** バイト長<BR/> *計算英語の文字列 *中国の3バイト * * @paramのSTR * @return 文字列のint型のバイト長 * / パブリック 静的 int型getLength(文字列STR){ IF(STR == NULL || str.length()== 0 ){ 戻り 0 ; } のtry { 戻りstr.getBytes(ENCODE_UTF).LENGTH; } キャッチ(にUnsupportedEncodingException E){ logger.error ( "英語のバイト文字列の長さ計算故障" 、E); } 戻り 0 ; } / ** *計算英語の文字列の長さ(バイト単位) * * @paramのSTR * @return INT * / パブリック 静的 INT getStrLength(文字列STR){ IF(STR == NULL || str.length()== 0 ){ 戻り 0 ; } int型 LEN = 0 ; のための(INT I = 0、J = str.length(); I <J; I ++ ){ // UTFコード形式8 -中国語が3つのバイトを占め、GBK中国語コード形式は2バイトである。 LEN + =(str.charAt(I)> 255 3:1?); } 戻りLEN; } パブリック 静的 ボイドメイン(文字列[]引数){ 文字列STR = "農業銀行3Wiener、有料秘密" 。 System.out.println(のgetLength(STR))。 System.out.println(getStrLength(STR))。 } }