這是遇到的面試題,請問i=?;j=?,為什麼?
string str1 = "abcd測試一下";
var strtobytes1 =system.text.encoding.utf8.getbytes(str1);
var i =strtobytes1.length;
var j = str1.length;
答:i = 16;j = 8 utf-8編碼對應中文乙個漢字對應3個位元組,乙個字母對應乙個位元組,具體參照下列資訊:
英文本母和中文漢字在不同字符集編碼下的位元組數
英文本母:
位元組數 : 1;編碼:gb2312位元組數 : 1;編碼:gbk
位元組數 : 1;編碼:gb18030
位元組數 : 1;編碼:iso-8859-1
位元組數 : 1;編碼:utf-8
位元組數 : 4;編碼:utf-16
位元組數 : 2;編碼:utf-16be
位元組數 : 2;編碼:utf-16le
中文漢字:
位元組數 : 2;編碼:gb2312位元組數 : 2;編碼:gbk
位元組數 : 2;編碼:gb18030
位元組數 : 1;編碼:iso-8859-1
位元組數 : 3;編碼:utf-8
位元組數 : 4;編碼:utf-16
位元組數 : 2;編碼:utf-16be
位元組數 : 2;編碼:utf-16le
面試題 字串按位元組擷取
之前面試面試題上有這樣乙個題目,當時沒給答上來,回來之後自己寫了一下 原題是這樣的 寫乙個字串擷取的方法,引數乙個字串和擷取長度,要求漢字按兩個位元組返回,如 大大1111小 當擷取長度為5時返回 大大1 當擷取長度為3時,至返回 大 不能返回亂碼 如下 public static string s...
位元組跳動面試題 字串校對
題目描述 輸入描述 第一行包括乙個數字n,表示本次用例包括多少個待校驗的字串。後面跟隨n行,每行為乙個待校驗的字串。輸出描述 n行,每行包括乙個被修復後的字串。舉例 輸入 2 helloo wooooooow輸出 hello woow 字串修正函式 defcorrection string s n ...
面試題 字串翻轉
使用 c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str include i...