主要用於生成json格式時,將漢字轉成Unicoude編碼,防止頁面亂碼。
protected string GetUnicode(string text) { string result = ""; for (int i = 0; i < text.Length; i++) { if ((int)text[i] > 32 && (int)text[i] < 127) { result += text[i].ToString(); } else result += string.Format("\\u{0:x4}", (int)text[i]); } return result; }
運行結果:
涉及的知識點:
1、“x”則代表十六進制,“x4”代表十六進制表示的可控制長度,如果長度不夠,則用前導的0填補。
2、Unicode寫法:在表示一個Unicode的字符時,通常會用“U+”然後緊接著一組十六進制的數字來表示這一個字符。
3、 ASCII 碼(American Standard Code for Information Interchange,全稱美國信息交換標准碼)
基本的 ASCII 字符集共有 128 個字符,其中有 96 個可打印字符,包括常用的字母、數字、標點符號等,另外還有 32 個控制字符。
參考資料:
1、C# String.Format用法和格式說明
http://www.cnblogs.com/gongth-12/archive/2012/11/26/2791642.html#undefined
左移運算符(<<)
將一個運算對象的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)。
例:a = a << 2 將a的二進制位左移2位,右補0,
左移1位後a = a * 2;
若左移時捨棄的高位不包含1,則每左移一位,相當於該數乘以2。
右移運算符(>>)
將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。
操作數每右移一位,相當於該數除以2。
例如:a = a >> 2 將a的二進制位右移2位,
左補0 or 補1 得看被移數是正還是負。
左移運算符(<<)
將一個運算對象的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)。
例:a = a << 2 將a的二進制位左移2位,右補0,
左移1位後a = a * 2;
若左移時捨棄的高位不包含1,則每左移一位,相當於該數乘以2。
右移運算符(>>)
將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。
操作數每右移一位,相當於該數除以2。
例如:a = a >> 2 將a的二進制位右移2位,
左補0 or 補1 得看被移數是正還是負。