string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;//獲取與系統區域設置中的默認 ANSI 代碼頁相關聯的編碼,按照指定編碼類型把字符串指定到指定的Byte數組 ,而字符串是占兩個字符,所以會是13將一組字符編碼為一個字節序列
int j= strTmp.Length;
以上代碼執行完后,i= j=
答:i=13,j=10
System.Text.Encoding.Default.GetBytes("23f");
功能是將字符串轉成byte數組
字符串的內容將依次轉成byte數組的每一個值
GetBytes是將字符轉成ascii碼
所以2的ascii就是50
依次類推
通常將某個字符串或者文本流轉換成默認的編碼
獲取操作系統的當前 ANSI 代碼頁的編碼。
同計算機可以使用不同編碼作為默認,且該默認編碼甚至可以在單個計算機上更改。 因此,從一台計算機傳輸到另一台或甚至在同一台計算機上的不同時間檢索到的數據可能不正確轉換。 此外,Default 屬性返回的編碼使用最佳回退將不支持的字符映射到代碼頁支持的字符。 出於這兩個原因,一般不推薦使用默認編碼。 若要確保編碼后的字節能夠正確解碼,應用程序應當使用帶前導碼的 Unicode 編碼(如 UTF8Encoding 或 UnicodeEncoding) 。 另一選擇是使用較高級別的協議以確保使用同一格式進行編碼和解碼
由 Default 定義的系統 ANSI 代碼頁包含 ASCII 字符集,但是其編碼不同於 ASCII 的編碼。 由於所有的 Default 編碼會丟失數據,因此應用程序可以改用 UTF8 代替 。 在 U+00 到 U+7F 的范圍內,UTF-8 通常是相同的,但是可以在不丟失數據的情況下對其他字符進行編碼。