????2. ??????ò?????????
????2.1. ???????????????????????????
???????? http://stackoverflow.com/questions/688760/how-to-create-a-utf-8-string-literal-in-visual-c-2008
??????????????????gcc/vc???汾??C++?????????в????????
????gcc (v4.3.2 20081105):
???????UTF-8???????????UTF-8???????????????BOM??
???????? http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33415 ?????gcc 4.4.0
???????????BOM??UTF-8?????
????vc2003:
???????UTF-8???????????UTF-8???????????????BOM?????????С?
????vc2005+:
??????????????UTF-8??????????????BOM??
????Note
????gcc????-finput-charset????????????????????????????????????????ascii???????????????????????????????????????????ascii????vcδ????????????
????2.2. ??????ò?????????
???????????????C/C++??????????ascii?????????з?ascii?????????xHH??uXXXX?????????н??????utf-8????????????gettext ???ascii??????????????????????У?????????????????ascii?????
??????????У?????xHH??uXXXX?????????????????????????????δ?????г??????????????????δ????????gettext???????????????????????????£???????????????????????д????????ascii???????????????????????gcc??vc????????????
??????????Unicode?????????????????????UTF-8??????ASCII????????????Unicode?????????????????????п?????????UTF-8?????gcc?????????汾??????????BOM????vc2005 ????????????BOM?????????????????gcc??vc?????????UTF-8????????????????????????gcc?????汾??4.4.0?????????????BOM??UTF-8???????????????е??
    ????????????????????????????Windows?1??????????????GB18030?????????????????????????vc???????????????gcc????????????????????-finput-charset=gb18030???????????????????????GB18030??????????GB18030 is a superset of ASCII and can represent the wholerange of Unicode code points??GB18030??????ASCII?????????????е?Unicode???????????GB18030???????????????????????е?Unicode????????GB18030?????????????????汾??VC?£????????????????????????п???????????????????????
????3. ????????????????
????????????????C++????????char??????????wchar_t???????????????????????????string/cout/strlen??wstring/wcout/wcslen??????????????????????в??????????????????vc??GB18030??gcc??UTF-8??????????????Unicode??????vc?????UTF-16??gcc?????UTF-32??C++??????????????????????????????????б????????????????????????????????????л?????????£?????????????????????????????vc???????????GB18030??????????????vc?????????????GB18030????????????????gcc?????UTF-8???????????????????????gcc?????????????UTF-8???????????????????????????????????д??????ascii?????????????????gettext????????????????????????????????????????л????????????????
????C++???????????????????????л?????????????????????????л??????????????????????????????л???????????????????????Java/.Net????Java/.Net???????????????Unicode????????/???????????????л??????????л????
???????????????????????????????????????????
??????????????????????????ascii???????ascii??????gettext??????????????????????У???gettext????????????????????
????????????????л????о??????????????
?????????в??????????ascii?????????????uXXXX????????ascii????????????????????????ascii?????????????????С?
????????п??????ascii????????????????????
?????б???????????????á?
?????????????
????????????????л????о??????????????
?????????п?????÷?ascii?????
????????????????????????????????????????????????????е??ascii?????
???????????????????????????????????????????
????Note
?????????????????Щ??????????????????????????????GB18030
??????????????????????Щ?????????xXX??????????????????GB18030??????????????????????????????????????????????????л???????
????4. ???л?????????????????
??????????????????????????????????????????л????????????????????????
??????????????????????????????????????????????????locale::global(locale("")) ???????????C++???????????????????????????????????????????????????????л?????
????????????????????в??????ascii?????????????л??????????????????????????????л?????
?????????????????????????ú?????ascii????????????C++??????????????б?????????????????????棩????????????????????????????????????л???????????????????????????????VC?????????????????GB18030?????£?gcc?????????????????UTF-8?????£??????????????-fexec-charset??????????????