使用不同的字符编码

时间:2011-10-31 02:55:32

标签: c++ c character-encoding

最近,我对Text Encoding感兴趣。如您所知,有很多种文本编码,如CRC949,UTF-8等。

我想知道如何恰当地表达它们。 (对屏幕和用户而言。)我的意思是,它们彼此不同。我记得根据C#中的编码表达文本有特殊的方式。

是否可以在C中使用简单的printf()来表达字符串而不管编码?编译器会自动执行吗?

1 个答案:

答案 0 :(得分:1)

阅读Joel Spolsky的文章The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

来自文章:

  

我们决定在UCS-2(双字节)Unicode内部执行所有操作,   这是Visual Basic,COM和Windows NT / 2000 / XP使用的   本机字符串类型。在C ++代码中,我们只是将字符串声明为wchar_t   (“宽字符”)而不是char并使用wcs函数而不是   str函数(例如wcscat和wcslen而不是strcat和   strlen的)。要在C代码中创建文字UCS-2字符串,只需输入一个L.   在它之前:L“你好”。