From: Alain Dekker on
I've been reading the MSDN documentation on the System.Char and
System.String types and they mention Unicode throughout without even
mentioning non-Unicode versions. How do I get a gool 'ol one-byte char and
non-Unicode string in .NET?

Thanks,
Alain


From: Mihai N. on
> I've been reading the MSDN documentation on the System.Char and
> System.String types and they mention Unicode throughout without even
> mentioning non-Unicode versions. How do I get a gool 'ol one-byte char and
> non-Unicode string in .NET?

You don't.
You can get a byte array, but there is no such thing as "non-Unicode string"


--
Mihai Nita [Microsoft MVP, Visual C++]
http://www.mihai-nita.net
------------------------------------------
Replace _year_ with _ to get the real email

From: Patrice on
Hello,

Some more context would help.

..NET uses only unicode strings. You could use a byte array. If this is for
interop the conversion can be handled for you (or you could use the
appropriate methods yourself). System.Text.Encoding could also help etc...

What are you trying to do that requires non unicode strings ?

--
Patrice


"Alain Dekker" <abdekker(a)NOSPAM.fsmail.net> a �crit dans le message de
groupe de discussion : #Fuft12qKHA.6064(a)TK2MSFTNGP02.phx.gbl...
> I've been reading the MSDN documentation on the System.Char and
> System.String types and they mention Unicode throughout without even
> mentioning non-Unicode versions. How do I get a gool 'ol one-byte char and
> non-Unicode string in .NET?
>
> Thanks,
> Alain
>
>

From: Markus Betz on
On 10-02-12 16:25, Alain Dekker wrote:
> I'm communicating with a legacy app that does not support UNICODE. In fact,
> UNICODE is superfluous for this project. Wish there was a way to turn it
> off, but I know and appreciate why its been done.
>
> After your post I found the System.Encoding.ASCII feature and it does what I
> expect. I presume is is transparently handling the second BYTE of each
> two-BYTE character, but for display purposes its fine.

Hello Alain,

ASCII is restricted to 7 bits. To get the whole lower byte (i.e. the
first 256 chars of Unicode) you should use:

System.Text.Encoding.GetEncoding("ISO-8859-1")

or any other code-set you legacy application likes.

Markus
From: Markus Betz on
On 10-02-12 16:25, Alain Dekker wrote:
> I'm communicating with a legacy app that does not support UNICODE. In fact,
> UNICODE is superfluous for this project. Wish there was a way to turn it
> off, but I know and appreciate why its been done.
>
> After your post I found the System.Encoding.ASCII feature and it does what I
> expect. I presume is is transparently handling the second BYTE of each
> two-BYTE character, but for display purposes its fine.

Hello Alain,

ASCII is restricted to 7 bits. To get the whole lower byte (i.e. the
first 256 chars of Unicode) you should use:

System.Text.Encoding.GetEncoding("ISO-8859-1")

or any other code-set your legacy application likes.

Markus