回顧我的一些舊代碼,並想知道是否有更好的方法來創建一個字符串使用Unicode符號...UTF-8轉義序列串:肯定是一個更好的辦法
我有一個REST接口這需要某些轉義字符;例如,一個屬性叫做用戶名與約翰%foobar的+史密斯必須要求這樣的值:
{"username":"john\u0025foobar\u002bSmith"}
我的C#方法來代替,如%某些字符和+是非常基本的:
public static string EncodeUTF8(string unescaped) {
string utf8_ampersand = @"\u0026";
string utf8_percent = @"\u0025";
string utf8_plus = @"\u002b";
return unescaped.Replace("&", utf8_ampersand).Replace("+", utf8_plus).Replace("%", utf8_percent);
}
這似乎是一個過時的做法;當然,有一些使用Encoding的單行方法可以輸出字面UTF代碼,但是我找不到任何實質上不能替代像我這樣的語句的例子...有沒有更好的方法?
這個問題沒有關於UTF8的內容。它是Unicode。 – xanatos
不要這樣做。您應該使用JSON序列化程序。 – SLaks
@SLaks你不需要在JSON中轉義+和% – xanatos