aco*_*aco 3 vb.net utf-8 iso-8859-1 character-encoding
我需要使用VB.NET将UTF8字符串转换为ISO-8859-1字符串.
任何例子?
强调文本我尝试过拉丁语功能而不是运行.我收到错误的字符串.
我的情况是我需要使用API发送短信.
现在我有这个代码:
baseurl = "http://www.myweb.com/api/sendsms.php"
client = New WebClient
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
client.Encoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
client.QueryString.Add("user", user)
client.QueryString.Add("password", pass)
client.QueryString.Add("alias", myAlias)
client.QueryString.Add("dest", mobile)
textoSms = Me.mmTexto.Text
textoSms = System.Web.HttpUtility.UrlEncode(textoSms)
client.QueryString.Add("message", textoSms)
data = client.OpenRead(baseurl)
reader = New StreamReader(data)
s = reader.ReadToEnd()
data.Close()
reader.Close()
Run Code Online (Sandbox Code Playgroud)
但不是运行...我收到不正确的消息.例如
如果我写:mañana返回maa ana
如果我写aigüa返回aiga
怎么样:
Dim converted as Byte() = Encoding.Convert(utf8, Encoding.UTF8, _
Encoding.GetEncoding(28591))
Run Code Online (Sandbox Code Playgroud)
这假设当你说"UTF8字符串"时你的意思是"二进制数据,它是某些文本的UTF-8表示".如果您的意思是其他,请注明:)
请注意,ISO-8859-1仅占完整Unicode的一小部分.IIRC,你最终会得到"?" 对于ISO-8859-1中没有的源数据中的任何字符.
| 归档时间: |
|
| 查看次数: |
60436 次 |
| 最近记录: |