我在做什麼改變HTML代碼的JavaScript逃逸是:WCF JSON退換貨服務應該返回單轉義序列
string input = "श्रीगंग..."
var output = Regex.Replace(input, @"&#([0-9]*);",
x => String.Format("\\u{0:X4}", int.Parse(x.Groups[1].Value)));
or alternately;
var output = String.Join("", WebUtility.HtmlDecode(input)
.Select(x => "\\u" + ((int)x).ToString("X4")));
但現在我有一個問題,當我在JSON通過WCF服務發送該數據格式。我正在相應地獲取價值。 但只能輸出變量是怎麼了?這是這種格式:
\\ u0026 \\ u0023 \\ u0032 \\ u0033 \\ u0033 \\ u0037 \\ \\ u003B \\ u0026 \\ u0023 u0032 \ \ u0033 \\ u0037 \\ u0035 \\ u003B \\ u0026 \\ u0023 \\ u0032 \\ u0033 \\ u0033 \\ u0038 \\ u003B \\ u0026 \\ u0023 \\ u0032 \\ u0033 \\ u0036 \\ u0034 \\ 00 B \ \ \ \ \ \ \ \ \ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i想要'\\'0026'但是隻想要''''作爲迴應。 我已經試過各種方法,如:
output.Replace("\\","'\'");
output.Replace("\\",@"\");
但這裏didn.t工作。
這裏是我的WCF服務方法:
[OperationContract(Name = "GetByCity")]
[WebInvoke(Method = "GET", UriTemplate = "/GetByCity/DeviceType={DeviceType}&CityId={id}&Limit={limit}", BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
NewsList GetByCity(string DeviceType, string id, string limit);
現在我不知道在哪裏定義UTF-8格式。
::你的答案是完全正確的,我得到我的解決方案,但RI8現在我想這些HTML代碼「श ् र ी ग ं ग ...」 轉換爲某種UTF-8格式的字符串是這樣的:「\ u0928 \ u0908 \ u0926 \ u093f \ u0932 \ u094d \ u0932 \ u0940 \/\ u092e \ u0941 \ u0902 \ u092c \ u0908。「 ,因爲我想將其用於移動設備。它只支持utf-8格式。 –
如果需要,WCF服務將自動生成它們。但是對於UTF-8,它們不是必需的,因爲UTF-8能夠直接表示Unicode字符。由於您的移動設備瞭解UTF-8,我沒有看到沒有理由使用Unicode轉義序列。 (如果您使用ASCII或ISO-8859-1編碼,您將需要它們。) – Codo
但是,當我以json格式將值發送到設備時,它不會呈現,我不知道爲什麼會發生這種情況? 我的意思是它沒有顯示正確的格式,它顯示不同的語言dnt知道什麼? –