2007/5/29, Ken Harris <[EMAIL PROTECTED]>:
> Hi Joe,
>
> > So I am definitely not an expert in these matters.  But my
> > understanding is that Mono internally uses UTF-16 as its Unicode
> > representation.
>
> Well, yeah, kind of.  I'm no expert with C#, but it seems to mean
> "here's a 16-bit type, have fun".  I'm hesitant to call that
> "internal".  :-)  I think it's only slightly more true than saying "C
> uses UTF-8 internally" (here's an 8-bit type, have fun).

(This is how Microsoft defines it, and I can only assume Mono does
something similar.)

In C#, System.String is defined as "Represents text as a series of
Unicode characters." and the internal way to handle this is to use
16-bit characters, which effectively means UTF-16.

Also, the class System.Char, which is what a System.String is built up
with (or rather, what you get when you index a string - e.g, "char
myChar = myString[1];" ) is a 16-bit struct that "represents a Unicode
character".

(Text within quotes are directly from MSDN)
[...]
> > As far as Beagle is concerned, by itself it doesn't deal with
> > character encodings at all.  As far as underlying libs: GTK requires
> > UTF-8; underneath it GLib deals with different Unicode versions.
>
> Since C# doesn't really provide a "unicode character" type (only a
> 16-bit type for stuffing with UTF-16), a program that wants to fully
> support Unicode might need to deal a little bit with one encoding
> (UTF-16) itself.  But I'm new to Mono, and I'm not sure my previous
> sentence is true.  :-)

I don't know what you mean with "unicode character", but it seems
System.Char fills your description pretty well.

There's also a bunch of conversion and other utility functions for
string encodings in the System.Globalization namespace. But this is
not C# specific per se, but related since it's part of the .NET
framework.

-Isak
_______________________________________________
Dashboard-hackers mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/dashboard-hackers

Reply via email to