Anybody willing to check this for me?
CString sUTF32ToUTF8( LONG lUTF32 )
{
CString sUTF8;
if ( lUTF32 <= 0x007F )
sUTF8 += (UCHAR)lUTF32;
else if ( lUTF32 <= 0x07FF )
{
sUTF8 += (UCHAR)( lUTF32 / 64 + 192 );
sUTF8 += (UCHAR)( lUTF32 % 64 + 128 );
}
else if ( lUTF32 <= 0xD7FF || ( 0xE000 <= lUTF32 && lUTF32 <= 0xFFFF
) )
{
sUTF8 += (UCHAR)( lUTF32 / 4096 + 224 );
sUTF8 += (UCHAR)( ( lUTF32 % 4096 ) / 64 + 128 );
sUTF8 += (UCHAR)( lUTF32 % 64 + 128 );
}
else
{
sUTF8 += (UCHAR)( lUTF32 / 262144 + 240 );
sUTF8 += (UCHAR)( ( lUTF32 % 262144 ) / 4096 + 128 );
sUTF8 += (UCHAR)( ( lUTF32 % 4096 ) / 64 + 128 );
sUTF8 += (UCHAR)( lUTF32 % 64 + 128 );
}
return sUTF8;
}
Peter
This archive was generated by hypermail 2.1.2 : Fri Nov 09 2001 - 00:53:18 EST