+
+// ----------------------------------------------------------------------------
+// wxUniChar
+// ----------------------------------------------------------------------------
+
+/* static */
+wxUniChar::unicode_type wxUniChar::From8bit(char c)
+{
+ // all supported charsets have the first 128 characters same as ASCII:
+ if ( (unsigned char)c < 0x80 )
+ return c;
+
+ wchar_t buf[2];
+ if ( wxConvLibc.ToWChar(buf, 2, &c, 1) != 2 )
+ return wxT('?'); // FIXME-UTF8: what to use as failure character?
+ return buf[0];
+}
+
+/* static */
+char wxUniChar::To8bit(wxUniChar::unicode_type c)
+{
+ // all supported charsets have the first 128 characters same as ASCII:
+ if ( c < 0x80 )
+ return c;
+
+ wchar_t in = c;
+ char buf[2];
+ if ( wxConvLibc.FromWChar(buf, 2, &in, 1) != 2 )
+ return '?'; // FIXME-UTF8: what to use as failure character?
+ return buf[0];
+}