1. 程式人生 > >Java 中文字串長度問題

Java 中文字串長度問題

public class Test {
	public static void main(String[] args)
	{
		String str = "12蘇";
		System.out.println(str.length());
		System.out.println(str.getBytes().length);
	}
}

輸出結果3,4

在網路傳輸一般使用位元組流,所以自定義傳輸幀的時候內容計算需要使用getBytes().length,而不能使用length();

相關推薦

Java 中文字串長度問題

public class Test { public static void main(String[] args) { String str = "12蘇"; System.out.println(str.length()); System.out.pri

java 判斷中文字串長度

/** * 獲取字串的長度,中文佔一個字元,英文數字佔半個字元 * * @param value 指定的字串 * @return 字串的長度 *

java判斷中文字串長度

話不多說,上程式碼: /** * 獲取字串的長度,如果有中文,則每個中文字元計為2位 * @param value 指定的字串 * @return 字串的長度

lua 獲取UTF-8中文字串長度-string.byte

轉載:https://www.jianshu.com/p/be7fa619bb44 一. UTF-8編碼規則 1.1 UTF-8簡單描述 1.2 UTF-8的中文字元編碼如何生成 二、lua 獲取UTF-8字串長度(含中文) 2.1 lua判斷字元是不是中文 2.2 如何取得位元組ASCII碼

Lua中含中文字串長度計算

轉自:http://m.blog.csdn.net/DanceWithCode1990/article/details/51154681 在專案中遇到了需要在Lua中計算含中文的字串的字串長度。 當時想當然的就用了string.len(“確定”) 發現輸出時竟然是6!後來才知道 ,由於檔案編

JAVA字串長度與位元組

今天檢驗一個字串長度時出現了問題。我在資料庫(ORACLE)中定義的長度時VARCHAR2(50), "附言欄位測試1附言欄位測試2附言欄位測試3附言欄位測試4",這是測試資料,一共52個位元組,在插入到資料庫中報錯了, 但是在JAVA使用length()方法他的長度並沒有

Java 中文字串編碼之GBK轉UTF-8

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

(轉載)PHP如何獲取中文字串長度 utf8_strlen()/mb_strlen()

PHP對中文字串的處理一直困擾於剛剛接觸PHP開發的新手程式設計師。下面簡要的剖析一下PHP對中文字串長度的處理: PHP自帶的函式如strlen()、mb_strlen()都是通過計算字串所佔位元組數來統計字串長度的,一個英文字元佔1位元組。例: $enStr =

PHP如何獲取中文字串長度 utf8_strlen()

PHP對中文字串的處理一直困擾於剛剛接觸PHP開發的新手程式設計師。下面簡要的剖析一下PHP對中文字串長度的處理: PHP自帶的函式如strlen()、mb_strlen()都是通過計算字串所佔位元組數來統計字串長度的,一個英文字元佔1位元組。例: $enStr = ‘Hello,China!’; ech

php中計算中文字串長度、擷取中文字串

header('Content-type:text/html;charset=utf-8');/*** 可以統計中文字串長度的函式* @param $str 要計算長度的字串* @param $type 計算長度型別,0(預設)表示一箇中文算一個字元,1表示一箇中文算兩個字元**/function abs

python包含中文字串長度

一箇中文utf8編碼後是佔3個字元,所以求長度的函式可以這樣寫 def str_len(str): try: row_l=len(str) utf8_l=len(str.encode('utf-8')) return

Java中文字串與unicode互轉工具類

原理利用了java實現js的escape以及unescape函式。 /** * 中文字串和unicode互轉工具類 <br> * * @author hkb <br> */ public class UnicodeConver

java String中文字串轉陣列 中文字串分割成一定長度字串分成幾個

java String中文字串分割成若干一定長度的字串 /** * 幾個字一組 變數控制 大於零有意義 */ int num = 6; /** * 待操作的字串 */ String str = "一二三四五六七一二三四五六七一二三四五六七一二三四五六七一二三四五六七

JAVA:獲取帶有中文字串真實長度

1.先將獲取的記錄字串轉換為ISO8859_1字符集(在計算字串長度時不出錯,但是中文變為亂碼)。  str = new String(str.getBytes("GBK"),"ISO8859_1") 參考 http://blog.sina.com.cn/s/blog_

java 計算包含中文字串的真實長度

public static int getRealLength(String str) { int m = 0; char arr[] = str.toCharArray(); for (int i = 0; i < arr.length; i++) { char c = arr[i

Java生成一定長度隨機數字字母字串,區分大小寫

在專案中遇到生成隨機字串的一個需求,自己通過實踐等總結出一個比較不錯的方法,需要的位數越高,重讀率越低。 /** * * @param length 需要的字元長度 * @return 返回隨機字母數字組合字串 */ public static S

PHP統計字串長度和切割字串函式(解決亂碼問題,和切割中文問題)

統計字串長度函式:mb_strlen('要統計的字串','字符集(utf-8)');           例項:$a = ‘12測試測試測試測試測試1231l’;           &nbs

java 得到無重複的最長字串長度

給定一個字串str,返回str的最長無重複字串的長度。 例如:      str="abc",則返回3.      str="aabcd",則返回4. 具體程式碼實現如下: package Test; import java.util.HashMap; impor

iOS中英文混排,獲取字串長度(中文字元數)

將一個NSString型別字串獲取的長度轉換成類似ASCII編碼的長度,如漢字2個位元組,英文以及符號1個位元組這個功能。用一個char*型別的字串,然後自己遍歷一遍,將它整理為類似ASCII編碼的格式,用到 [NSString cStringUsingEncoding:N

關於Java的String字串常量的長度問題(Error:(14, 22) java: 常量字串過長)

雖然這種問題應該很難遇到,但是遇到了也會感到莫名其妙。不知道大家有沒有遇到那種在java程式碼裡用字串寫sql語句的情況,但是如果sql語句字串的長度太長的話就會報錯。 程式碼如下: 程式碼A String str = "567890123456789