原文:Java中以字節長度截取存在中文的字符串(UTF-8編碼)

背景:以定長字節輸出含中文字符時,因ASCII碼字符占 字節,而中文GBK字符占 字節,中文UTF 字符占 字節,為避免輸出長度超過定長,故需對含中文的內容進行處理。 此處以輸出UTF 為例,其他編碼同理。 運行結果: abcd你abcd你 ...

2020-07-30 23:09 0 780 推薦指數:

查看詳情

JAVA中文字符串編碼--GBK轉UTF-8

轉載自:https://www.cnblogs.com/yoyotl/p/5979200.html 一、亂碼的原因 gbk的中文編碼是一個漢字用【2】個字節表示,例如漢字“內部”的gbk編碼16進制的顯示為c4 da b2 bf utf-8中文編碼是一個漢字用【3】個字節表示,例如漢字 ...

Fri Jun 07 00:36:00 CST 2019 2 9483
Java實現按字節長度截取字符串的方法

Web應用程序在瀏覽器顯示字符串時,由於顯示長度的限制,常常需要將字符串截取后再進行顯示。但目前很多流行的語言,如C#、Java內部采用的都是 Unicode 16(UCS2)編碼,在這種編碼中所有的字符都是兩個字符,因此,如果要截取字符串、英文、數字混合的,就會產生問題,如下面的字符串 ...

Wed Apr 10 20:09:00 CST 2013 2 8646
Java 中文字符串編碼之GBK轉UTF-8

寫過兩篇關於編碼的文章了,以為自己比較了解編碼了呢?! 結果今天又結結實實的上了一課。 以前轉來轉去解決的問題終歸還是簡單的情形。即iso-8859-1轉utf-8,或者iso-8859-1轉gbk,gb2312之類。這種無損轉換,一行代碼就搞定。 今天遇到了gbk轉utf-8。無論怎么轉 ...

Thu Oct 20 07:37:00 CST 2016 1 37872
字節長度截取字符串

業務場景:Oracle數據字符UTF-8,字段類型為VARCHAR2(2000)。當插入字符串字節長度超過2000時,就會報錯,使用subString(0,2000)當字符串包含中文時,也會報錯,又不能直接只截取1000長度。所以需要一個根據字節長度截取字符串的方法。 下面提供一下 ...

Mon Nov 12 19:47:00 CST 2018 0 752
字節長度截取字符串

默認的截取字符串都是根據字符長度或位置截取的,典型的兩個方法是substr和substring。 這樣導致的問題是截取同樣長度字符串時,多字節字符(漢字等)和單字節字符(半角英文字母、半角數字)占的位置長度差距較大,視覺上不太美觀,比如同樣是10個字符: /* * param ...

Tue Apr 17 03:12:00 CST 2018 0 1486
mb_substr()截取中文方法的詳解 (加上‘utf-8’,字符串截取不到的問題詳解)

建議剛入門的程序猿同學可以創建一個博客,對自己遇到的問題可以歸納總結。一方面能使自己的技術得到階段性的提高,另一方面也能幫助到和你遇到同一問題的有緣人。不乏有一種‘事了拂衣去’的小資情調。 長話短說:在工作往往需要對文章進行截取一段字符串,后面用 ‘查看更多’表示;這是經常用到的工作場景 ...

Sun Mar 04 19:37:00 CST 2018 2 10095
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM