Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 279
  • Last Modified:

Sending special characters to vb application TCP/IP

I am not so sure if I should post this in VB or C# forum - but let's see what happens...

I am building a simple client/server solution...
the server side I decided to build in C# (i need thread's and some other feturings that VB doesn't handle very well)...
the client side - a vb6 app... quite simple... the problem I got...

to send from C# to VB (sockets - TCP/IP) I do something like:
myTCP.Send(System.Text.Encoding.UTF8.GetBytes(Dados)); //Dados = string ie. "Test" or "Ligação"

VB receives the string and the data is not clear when sending characteres like "ç","é","ã"...
I searched for this and found that I would have to send from C# like:
myTCP.Send(System.Text.Encoding.Unicode.GetBytes(Dados));
but when I do this, I found a new problem - instead of getting "Ligação" > I receive something Like
L*i*g*a*ç*ã*o > * means (char)0 >>> or I don't receive the whole message...

I wonder how to send this special characteres (and they are very common) from C# to VB...
if I have no choice, I may create a simple "Convert Table" - Converting the "garbage" from the received message into the expected...

TIA
Bruno
0
EngBrunoMachado
Asked:
EngBrunoMachado
  • 2
  • 2
1 Solution
 
tomasX2Commented:
1. could it possibly be BigEndianUnicode ....
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtextencodingclassbigendianunicodetopic.asp

what is the format the vb client expecting?
0
 
EngBrunoMachadoAuthor Commented:
BigEndianUnicode gives me the same problem I had with Unicode...

about VB "All VB strings are stored in UNICODE" (http://www.mvps.org/vb/index2.html?tips/varptr.htm)

when I use Encoding.Unicode at C# Server, it sends me 2 bytes instead of 1 (and I believe it is ANSI)...

0
 
EngBrunoMachadoAuthor Commented:
hmmm...
it couldn't be more simple than that...
I was trying Unicode / UTF8...
and it was Default all the time...

I had to try them all after the BigEndian...
well... thx
0
 
tomasX2Commented:
good to know... had to be something obvious ;-)

so to know what the default is

      System.Text.Encoding enc = System.Text.Encoding.Default;

      System.Diagnostics.Debug.WriteLine(enc.EncodingName);
      System.Diagnostics.Debug.WriteLine(enc.HeaderName);
      System.Diagnostics.Debug.WriteLine(enc.WebName);
      System.Diagnostics.Debug.WriteLine(enc.BodyName);
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now