我有这段代码:
' Connects to the server
Dim _tcpClient As New System.Net.Sockets._tcpClient
_tcpClient.Client.Connect(server, port)
' Open network stream
Dim _headerToSend As String = "POST evpost HTTP/1.0"... ' CityName = Čelpěkéy
Dim _networkStream As NetworkStream = _tcpClient.GetStream
Dim bytesToSend As Byte() = Encoding.ASCII.GetBytes(_headerToSend)
' Send the text to tcp server
_networkStream.Write(bytesToSend, 0, bytesToSend.Length)
我正在尝试保存值“Čelpěkéy”介绍数据库,实际上是保存但是“Celpekéy”。这是因为我使用Encoding.ASCII
并且ASCII不支持这些字符。
考虑:
Encoding.Unicode
)。更新
你知道任何允许我仍然使用ASCII编码保存Unicode字符的技巧吗?
要么
您是否认为使用ASCII编码无法做到这一点?
感谢您的帮助。
答案 0 :(得分:0)
看起来你想要Encoding.Unicode.GetBytes
或UTF8版本,而不是ASCII版本。
答案 1 :(得分:0)
Public Function DECODE(ByVal x As String) As String
If x IsNot Nothing Then
Dim b As Byte() = Encoding.GetEncoding(1250).GetBytes(x)
Return Encoding.ASCII.GetString(b)
Else
Return x
End If
End Function
1250是东欧(罗马尼亚)的代码。因此'Ceauşescu'将翻译'Ceausescu'
使用特定于您所在国家/地区的代码。