草庐IT

unicode_literals

全部标签

c++ - 如何让 STL std::string 在 Windows 上使用 unicode?

在我的公司,我们有一个跨平台(Linux和Windows)库,其中包含我们自己的STLstd::string扩展,此类在字符串之上提供各种功能;split,format,to/frombase64,等等。最近我们被要求让这个字符串unicode变得“友好”,基本上它需要支持来自中文,日文,阿拉伯文等的字符。经过初步研究,这在Linux端似乎很好因为每件事本质上都是UTF-8,但是我在Windows方面遇到了麻烦;有什么技巧可以让STLstd::string在Windows上作为UTF-8工作吗?有可能吗?有没有更好的办法?理想情况下,我们会让自己基于std::string,因为这是Li

c++ - 使用非 MSVC 编译器在 Windows 下打开带有 Unicode 文件名的文件的 fstream

当文件名为“Unicode”文件名时,我需要将文件打开为std::fstream(或实际上任何其他std::ostream)。在MSVC下我有非标准扩展std::fstream::open(wchar_tconst*,...)?我可以使用GCC(最重要的)和Borland编译器等其他编译器做什么。我知道CRTL提供了_wfopen但它提供了CFILE*接口(interface)而不是io-streams,也许有一种非标准的方式来创建io-stream文件*?是否有任何boost::ifstream带有类似MSVC的Windows扩展? 最佳答案

c++ - Windows Unicode C++ 流输出失败

我目前正在编写一个应用程序,它要求我在任意窗口上调用GetWindowText并将该数据存储到一个文件中以供以后处理。长话短说,我注意到我的工具在战地风云3上出现故障,我将问题缩小到窗口标题中的以下字符:http://www.fileformat.info/info/unicode/char/2122/index.htm所以我创建了一个小测试应用程序,它只执行以下操作:std::wcout很低,看吧,这会中断程序其余部分的控制台窗口输出。当MessageBoxW等API等正常显示它时,为什么MSVCSTL会在这个字符(我假设其他字符)上窒息?如何将这些字符打印到我的文件中?在Windo

windows - 如何在 Windows 控制台上输出 Unicode 字符串

已经有一些与此问题相关的问题。我认为我的问题有点不同,因为我没有实际问题,我只是出于学术兴趣而问。我知道Windows的UTF-16实现有时与Unicode标准(例如归类)相矛盾,或者更接近旧的UCS-2而不是UTF-16,但出于以下原因,我将在此处保留“UTF-16”术语简单。背景:在Windows中,一切都是UTF-16。无论您是在处理内核、图形子系统、文件系统还是其他任何东西,您都在传递UTF-16字符串。没有Unix意义上的语言环境或字符集。为了与中世纪版本的Windows兼容,有一种叫做“代码页”的东西已经过时但仍然受支持。据我所知,只有一个正确且未过时的函数可以将字符串写入

c - 如何逐行读取unicode(utf-8)/二进制文件

你好程序员,我想逐行读取记事本创建的Unicode(UTF-8)文本文件,我不想在屏幕上显示Unicode字符串,我只想读取和比较字符串!此代码逐行读取ANSI文件,并比较字符串我想要什么逐行读取test_ansi.txt如果行="b"打印"YES!"否则打印“NO!”逐行读取ansi_line.c#includeintmain(){char*inname="test_ansi.txt";FILE*infile;charline_buffer[BUFSIZ];/*BUFSIZisdefinedifyouincludestdio.h*/charline_number;infile=fop

windows - 在 R 的 expression() 命令中使用 Unicode

我在R图中使用expression()以获得斜体文本。但似乎我不能在ASCII字符之外的expression内使用Unicode符号。有什么办法可以解决这个问题吗?我的目标是在我的R条形图中的各种标签中获取fi连字(连同斜体文本)。我正在使用RforWindows版本3.0.2。CairoPDF(file="Ligature1.pdf")plot.new()text(x=.5,y=.5,labels="fi",family="TimesNewRoman")dev.off()CairoPDF(file="Ligature2.pdf")plot.new()text(x=.5,y=.5,lab

windows - FAT-32 上的 Unicode 文件名?

据我所知-NTFS支持Unicode文件名(Micorsoft声称是UTF-16?)。但是官方MSDN文档对于使用什么代码页在FAT-32上存储文件名(文件路径)非常模糊。这里说OEM代码页(我假设是CP437)用于存储文件名:http://msdn.microsoft.com/en-us/library/windows/desktop/dd317748.aspx但事实证明,可以有不同的OEM代码页,CP437就是其中之一:http://msdn.microsoft.com/en-us/library/windows/desktop/dd317752.aspx我们现在都知道像mount

windows - 是否有适用于 Windows 的 Unicode 字体,它与 Arial Unicode MS 一样完整,但免费,甚至可用于商业用途?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我必须发布一个遗留的Windows应用程序,遗憾的是它不支持字体链接,但应该支持多种语言文化,包括所有东亚语言。为此目的的完美字体是使用UnicodeMS,它是MicrosoftOffice的一部分,而不是我的目标系统的一部分。所以我必须获得ArialUnicode的许可,目前没有选择。所以我正在寻找一种免费的Unicode字体,它涵盖与ArialUnicodeMS相

windows - Vim:Windows 下终端中的编码(Unicode)

我不知道为什么,但是这个话题似乎没有很好的记录并且充满了争议,因为没有人知道真正的答案(也许Moolenaar先生除外,他很少回答)。基本上我已经提出了一个讨论here,它很快就死了,可能是因为在Windows上没有太多人在终端模式下使用Vim。我的编码设置如下:ifhas('multi_byte')ifempty(&termencoding)let&termencoding=&encodingendiflet&encoding='utf-8'let&fileencoding='utf-8'endif当然,我在GVim下运行没有问题:可以输入任何字符,而且我为Powerline打补丁的

windows - 在 Unicode 文件上的 Mercurial 中获得可读的差异显示 (MS Windows)

我正在尝试将一些WindowsPowerShell脚本存储在Mercurial存储库中。PowerShell编辑器似乎喜欢将文件保存为UTF-16Unicode。这意味着有很多\0字节,这是Mercurial用来区分“文本”和“二进制”文件的方式。我知道这对Mercurial存储数据的方式没有影响,但这确实意味着它显示二进制差异,这有点难以阅读。有没有办法告诉Mercurial这些确实是文本文件?据推测,我需要说服Mercurial对特定文件类型使用外部Unicode识别差异程序。 最佳答案 这可能与您无关;如果听起来不像,请阅读最