PDA

View Full Version : مشکل unicode کردن اطلاعات خواند هشده از Router



m.yazdian
سه شنبه 08 تیر 1395, 18:16 عصر
دوستان اط ظریق tcpClient به روتر وصل میشم و مقادیری که از روی Netstream می خونم به صورت ؟؟؟؟؟؟ نمایش داده میشه

کسی می دونه مشکل از کجاست؟


Dim tcpStream As IO.Stream
Dim tcpCon As New Net.Sockets.TcpClient
tcpCon.Connect("10.50.11.183", 23)
tcpStream = tcpCon.GetStream
Dim b As Byte() = Encoding.ASCII.GetBytes("login")
tcpStream.Write(b, 0, b.Length)
Threading.Thread.Sleep(2000)
Dim bytReading(tcpCon.ReceiveBufferSize) As Byte
tcpStream.Read(bytReading, 0, tcpCon.ReceiveBufferSize)
Dim returndata As String = Encoding.ASCII.GetString(bytReading)
MsgBox(returndata)
tcpCon.Close()

Mani_rf
شنبه 12 تیر 1395, 16:09 عصر
دوستان اط ظریق tcpClient به روتر وصل میشم و مقادیری که از روی Netstream می خونم به صورت ؟؟؟؟؟؟ نمایش داده میشه

کسی می دونه مشکل از کجاست؟


Dim tcpStream As IO.Stream
Dim tcpCon As New Net.Sockets.TcpClient
tcpCon.Connect("10.50.11.183", 23)
tcpStream = tcpCon.GetStream
Dim b As Byte() = Encoding.ASCII.GetBytes("login")
tcpStream.Write(b, 0, b.Length)
Threading.Thread.Sleep(2000)
Dim bytReading(tcpCon.ReceiveBufferSize) As Byte
tcpStream.Read(bytReading, 0, tcpCon.ReceiveBufferSize)
Dim returndata As String = Encoding.ASCII.GetString(bytReading)
MsgBox(returndata)
tcpCon.Close()


شما داری کارکتر های فارسی رو ASCII از ورودی میخونی در صورتی که کاراکتر های فارسی توی ASCII وجود ندارند و باید به UTF8 تبدیلشون کنی.
در نتیجه:

این خط :
Dim b As Byte() = Encoding.ASCII.GetBytes("login")
رو به این صورت بنویس :
Dim b As Byte() = Encoding.UTF8.GetBytes("login")

و این خط رو:
Dim returndata As String = Encoding.ASCII.GetString(bytReading)
به این شکل:
Dim returndata As String = Encoding.UTF8.GetString(bytReading)