2011-02-14 14 views
6

Bir web sayfasında, \ u30ca \ u30bf \ u30ea \ u30a2 metnini aldım.ナ タ リ ア 'a tercüme etmelidir. Sadece .NET'te nasıl yapılacağını bilmiyorum. HttpUtility.HtmlDecode çalıştı ve bu başarısız olduğunda HttpUtility.UrlDecode çalıştı. Şanssızlık yok.net'te html unicode'dan nasıl kurtulurum?

+0

ok, problemi takip etmede bize yardımcı olacak (veya hata) çıktının ne olduğunu ... bize denediğiniz kodu gösterebilirseniz daha iyi .. Base64 ile bazı sorunları olabilir dönüşümler .. veya UTF16 karakterleri .. daha fazla bilgi sağlayabilir –

+0

Ben benim cevabımı –

cevap

1

Eğer dizginiz Kaçtıysanız, dizeyi unicode'a dönüştürmeniz gerekecek .. ya da daha iyi bir yol var. JSON Kaçan Unicode karakter kabul eder ve (JavaScriptSerializerSystem.Web.Extensions.dll yılında System.Web.Script.Serialization olan) bu yüzden bu deneyin, normal karakter onu dönüştürme:

string d = @"\u30ca\u30bf\u30ea\u30a2"; 
Console.WriteLine("Unicode Escaped:" + d); 
JavaScriptSerializer jr = new JavaScriptSerializer(); 
string dt = jr.Deserialize<string>("\"" + d + "\""); 
Console.WriteLine("Converted:" + dt); 

ve çıktısı:

Unicode Escaped: \u30ca\u30bf\u30ea\u30a2 

Converted: ナタリア 


Ve eğer hala elle n kodu yapmak istiyorum. SO üzerinde kodla Bu cevap istediğini geçerli:

Convert a Unicode string to an escaped ASCII string

Onun kod gönderme kredi almak çok istemiyoruz.

+1

güncellediler Ben onlar ters eğik çizgi içeren bir dize var diyorlar. Bilirsiniz, bu gibi: 'd = @" \ u30ca \ u30bf \ u30ea \ u30a2 ";'. Sonra d 'un unescape nasıl merak ediyorlar. – icktoofay

+0

@icktoofay Tamam ben bunun için cevabımı değiştirdim .. ve kim şimdiye kadar beni reddetti oyu kaldırabilirsiniz –

+0

Mükemmel cevap. –

İlgili konular