answers2 = HttpUtility.UrlDecode(Model.FindOne<UserResult>(ur => ur.UserID == user.UserID
&& ur.ModuleID == 2
&& ur.TopicID == 9
&& ur.ActivityID == 2
&& ur.QuestionID == 2).Results, Encoding.ASCII).Split('|');
结果字段包含在SQL数据库中以ASCII编码的德语字符。我使用批量短信发送服务,要求将特殊字符作为ASCII码发送。
它没有解码困难&#34;%7C&#34;和&#34;%20&#34;看到UTF-8和ASCII代码是相同的。如果我以UTF-8(%c3%a4)发送该字符,它可以正常工作但如果我将其更改回ASCII(%E4),则SMS会向我发回一个问号来代替该字符。
我指出的ASCII解码方案似乎没有起作用,我不确定我做错了什么。
答案 0 :(得分:1)
UIImage *img = [UIImage imageWithContentsOfFile:path];
不是ASCII。如果你想使用这样的值,你必须使用你想要使用的实际编码,例如:
%E4
生成Encoding.GetEncoding("iso-8859-2").GetString(new byte[] { 0xE4 })
,而
ä
生成Encoding.ASCII.GetString(new byte[] { 0xE4 })
。
ASCII仅描述前128个字节值 - 其余是扩展 ASCII的特定编码。因此,每当您尝试使用ASCII解码大于128的任何内容时,您都会获得?
。
显然,这也是相反的 - 任何不属于ASCII的字符(而你的?
肯定不会被编码为ä
- 也称为63
:)