這麼簡單的問題,我都忘記了,不知道你們還記得嗎,希望你們都還記得?
str1 = len2 = leng =+++
控制台執行結果為
對於字節的長度一個漢字是對應兩個字節的
順便看一下Sql Server中char nchar varchar nvarchar
char類型: 對英文(ASCII)字符占用1個字節,對一個漢字占用2個字節,CHAR存儲定長數據很方便,CHAR字段上的索引效率極高,比如定義char(10),那麼不論你存儲的數據是否達 到了10個字節,都要占去10個字節的空間。因為是固定長度,所以速度效率高。
VARCHAR:存儲變長數據,如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什麼“+1”呢?這一個字節用於保存實際使用了多大的長度。
Nchar類型和Nvarchar類型是怎麼一回事呢?為了與其他多種字符的轉換,如中文,音標等,對每個英文(ASCII)字符都占用2個字節,對一個漢字也占用兩個字節,所有的字符都占用2個字節。
nchar(n):包含n個字符的固定長度Unicode字符數據。n的值必須介於1與4,000之間。存儲大小為n字節的兩倍。
varchar(n):變長型字符數據類型,存儲最長長度為8,000 個字符
nvarchar(n):可變長度 Unicode 數據,其最大長度為 4,000 字符.字節的存儲大小是所輸入字符個數的兩倍,就是說它是雙字節來存儲數據的。如果存儲數據如果存在單字節時,它也是以雙字節來占用存儲空間的。
varchar一般適用於英文和數字,Nvarchar適用中文和其他字符,其中N表示Unicode常量,可以解決多語言字符集之間的轉換問題。