草庐IT

unicode-escape

全部标签

c++ - C++ char如何区分ASCII和UNICODE

我目前正在使用C++编写一个可以处理字母和韩文字符的程序。但是我了解到c++中char的大小只有1个字节。这意味着为了处理外来字符或UNICODE,它需要为一个字符使用两个字符。strings=string("a가b나c다");cout打印9但我的问题是C++执行如何区分这两种不同类型的字符?例如,如果我制作一个大小为9的char数组,它如何知道它是9个ascii字符还是4个unicode+1个ascii?然后我想通了:charc;inta;char*cp="가나다라마바사아";for(inti=0;i只打印a的负值。cval:aval:-80cval:aval:-95cval:ava

c++ - 将 escaped_list_separator 与 boost split 结合使用

我正在使用boost字符串库,并且刚刚发现split方法非常简单。stringdelimiters=",";stringstr="string,with,comma,delimited,tokens,\"anddelimiters,insideaquote\"";//Ifwedidn'tcareaboutdelimitercharacterswithinaquotedsectionwecouldusvectortokens;boost::split(tokens,str,boost::is_any_of(delimiters));//givesthewrongresult:tokens

c++ - Q在unicode中的应用

QApplication的构造函数采用(intargc,char**argv)来处理任何Qt特定的命令行参数。如果我的应用是unicode怎么办?我有一个wchar_t**argv?创建所有命令行参数的char*拷贝以传递给本身是unicode的库似乎有点愚蠢。 最佳答案 是的,会的。如果不是thisnote:Warning:OnUnix,thislistisbuiltfromtheargcandargvparameterspassedtotheconstructorinthemain()function.Thestring-dat

c++ - 无法使用 Unicode 特殊字符设置窗口文本

我正在尝试使用下面指定的unicode特殊字符通过代码设置对话框项文本:https://www.fileformat.info/info/unicode/char/1f310/index.htm我一直在尝试调用SetWindowTextW函数,将UTF-16(十六进制)值作为参数传递,但没有成功:GetDlgItem(IDSETTINGS)->SetWindowTextW(_T("\uD83C\uDF10"));当我构建我的解决方案时,我遇到了两个错误:errorC3850:'\uD83C'auniversal-character-.namespecifiedaninvalidchar

c++ - 为什么非 Unicode 应用程序系统语言环境会使带有符号字符集的 Unicode 字体显示不正确?

我正在尝试显示Wingdings字体中的Unicode字符(它是仅支持符号字符集的UnicodeTrueType字体)。使用相应的区域操作系统设置,它在我的Win7/64系统上正确显示:格式:俄语地点:俄罗斯系统区域设置(也称为非Unicode应用程序的语言):英语但是,如果我将系统区域设置切换为俄语,则代码>127的Unicode字符显示不正确(替换为方框)。我的应用程序是在VisualStudio中使用Unicode字符集创建的,它仅调用UnicodeWindowsAPI函数。我还注意到,一些Windows应用程序也会错误地使用符号字体(Symbol、Wingdings、Webdi

c++ - 为什么我的应用程序无法正确显示 unicode 字符?

我决定将我的win32c++应用程序转换为Unicode版本,但是当我使用它时,我得到了阿拉伯语、中文和日语的不可读字母...首先:如果我不使用Unicode,我可以在编辑框窗口标题中使用阿拉伯语:HWNDhWnd=CreateWindowEx(WS_EX_CLIENTEDGE,"Edit","ابتثجحخدذ",WS_CHILD|WS_VISIBLE|WS_BORDER|ES_MULTILINE,10,10,300,200,hWnd,(HMENU)100,GetModuleHandle(NULL),NULL);SetWindowText(hWnd,"صباحالخير");输出看起

c++ - 如何将 unicode 字符串转换为其 unicode 转义字符?

假设我有一条短信“你好Здравствуй”。(我将此代码保存在QString中,但如果您知道用其他方式在C++代码中存储此文本,欢迎您。)我如何将此文本转换为Unicode转义符,例如"\u1330\u1377\u1408\u1415Hello\u1047\u1076\u1088\u1072\u1074\u1089\u1090\u1074\u1091\u1081"(参见here)? 最佳答案 #include#include#includeintmain(){QStringstr=QString::fromWCharArray(L

c++ - 从 ASCII 到 Unicode 字符代码的转换 (FreeType2)

我在我的一个项目中使用FreeType2。为了呈现一封信,我需要提供一个Unicode两字节字符代码。不过,程序读取的字符代码是ASCII单字节格式。128以下的字符码没有问题(字符码相同),但其他128个不匹配。例如:ASCII中的“a”是0x61,Unicode中的“a”是0x0061-没问题ASCII中的“±”是0xB9,Unicode中的“±”是0x0105——完全不同我试图在那里使用WinAPI函数,但我一定是做错了什么。这是一个示例:unsignedcharszTest1[]="ąółź";//ASCIIformatwchar_t*wszTest2;intsize=Mult

c++ - 阿拉伯语: 'source' Unicode 到最终显示的 Unicode

简单的问题:这是我要找的最终显示字符串لعبةديدة下面是每个单独的字符,在“粘合”在一起之前(所以我在每个字符之间放置了一个空格以停止连接)لعبةديدة请注意它们不是相同的字符,有一些神奇的转换将它们融合在一起并将它们转换为新的Unicode字符。然后在上面,字符实际上是从右到左出现的(在内存中,它们是从左到右)所以我的简单问题是:我从哪里获得一个独立于平台的c/c++函数,它将采用我的源16位Unicode字符串,并对其进行转换以生成将创建第一个引用的Unicode字符串多于?进行RTL转换和连接?这就是我想要的,一个函数就可以做到这一点。更新:好的,是的,我知道上面两个示例

c++ - 有没有办法检测字母数字 Unicode 符号?

我有一个由字母、数字和标点符号组成的Unicode字符串。如何使用C++标准库或Win32API检测数字和字母(不一定是ASCII)字符? 最佳答案 iswdigit()、iswalpha()和iswalnum()是您正在寻找的函数。干杯! 关于c++-有没有办法检测字母数字Unicode符号?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/925487/