utf-16相关内容

UTF16(例如wide-winapi函数使用的)字符总是2字节长?

请澄清一下,UTF16是如何工作的? 我有点困惑,考虑这些点: 在C ++中有一个静态类型,WCHAR,长。 (总是2字节长)obsouly) 大部分的msdn和一些其他文档似乎有假设,字符总是2字节长。这可能只是我的想象力,我不能提出任何特定的例子,但它只是似乎这样。 没有“extra wide”函数或字符类型广泛使用C ++或windows,所以我假设UTF16是所有需要的。 对 ..
发布时间:2016-10-23 12:46:10 C/C++开发

将std :: string编码/解码为UTF-16

我必须处理一个文件格式(从它读取和写入),其中字符串以UTF-16(每个字符2个字节)进行编码。由于ASCII表中的字符很少在应用程序域中使用,所以我的C ++模型类中的所有字符串都存储在std :: string(UTF-8编码)的实例中。 我正在寻找一个库(在STL和Boost没有运气搜索)或一组C / C ++函数来处理这个std :: string UTF-16转换加载或保存到文件格 ..
发布时间:2016-10-20 22:05:44 C/C++开发

阅读Unicode文件C ++

我有一个简单的问题要问。我有一个UTF 16文本文件读取,以FFFE开始。什么是C ++工具来处理这种文件?我只是想读它,过滤一些行,并显示结果。 看起来很简单,但我只是在使用普通的ascci文件的经验,我很匆忙。我使用VS C ++,但我不想使用托管C ++。 注意 这里给一个非常简单的例子 wifstream文件; file.open(“C:\\appLog.tx ..
发布时间:2016-10-17 11:03:21 C/C++开发

C / C ++中的Unicode字符串规范化

我想知道如何规范化字符串(包含utf-8 / utf-16)在C / C ++。 在.NET中有一个函数 String.Normalize 。 我过去使用UTF8-CPP,但它不提供这样的功能。 ICU 和Qt提供字符串规范化,但我更喜欢轻量级解决方案。 有没有任何“轻量级”的解决方案? 解决方案 正如我在另一个问题, utf8proc 是一个非常好的,轻量级的库,用于基本 ..
发布时间:2016-10-17 10:06:59 C/C++开发

混淆关于C ++的std :: wstring,UTF-16,UTF-8和在Windows GUI中显示字符串

我正在开发一个只有英语的C ++程序在Windows中,我们被告知“总是使用std :: wstring”,但似乎没有人在团队中真正有很多的了解以外。 我已经阅读过题为“std :: wstring VS std :: string的问题。这非常有帮助,但我仍然不太明白如何将所有信息应用到我的问题。 我正在工作的程序在Windows GUI中显示数据,该数据以XML格式保存,我们经常使 ..
发布时间:2016-10-16 14:31:34 C/C++开发

utfcpp和Win32宽API

使用微小的 utfcpp 库可以转换我从使用utf16to8将有效的UTF8格式的Windows API(FindFirstFileW等)转换为有效的UTF8格式? 我想在内部使用UTF8,但是无法获得正确的输出经过另一次转换或简单cout)。 还是有更简单的替代方法? 谢谢! 更新:感谢汉斯(下面),我现在有一个通过Windows API轻松的UTF8 UTF16转换。双 ..
发布时间:2016-10-13 11:47:57 C/C++开发

正确读取utf-16文本文件到一个没有外部库的字符串?

自从一开始我一直在使用StackOverflow,有时被诱惑提出问题,但我总是要么自己想出来,要么找到最终发布的答案...直到现在。这种感觉非常简单,但我一直在互联网上漫游几个小时没有成功,所以我转过来: 我有一个漂亮的标准utf-16文本文件,混合的英文和中文字符。我希望这些字符结束在一个字符串(技术上,一个wstring)。我已经看到了很多相关的问题(这里和其他地方),但是他们要解决读取 ..
发布时间:2016-10-11 23:05:41 C/C++开发

以二进制模式将utf16写入文件

我想用二进制模式写入一个wstring文件与streamstream,但我认为我做错了。这是我试过的: ofstream outFile(“test.txt”,std :: ios :: out | std :: ios :: binary); wstring hello = L“hello”; outFile.write((char *)hello.c_str(),hello.l ..
发布时间:2016-10-11 22:13:40 C/C++开发

URL编码ASCII / UTF16字符

我试图URL编码一些字符串,但我有一个由.NET Framework提供的方法问题。 比如说,我想的包含“A”字符编码字符串。据 W3Schools的比如说,我希望这个卡拉科特编码为“%E2' (和PHP系统我必须调用预计,太...) 我尝试使用以下方法: System.Web.HttpUtility.UrlEncode(“A”); System.Web.HttpUtili ..
发布时间:2016-10-03 19:27:47 C#/.NET

如何扭转包含代理对的字符串

我写了这个方法来扭转一个字符串 公共字符串反转(字符串s) { 如果(string.IsNullOrEmpty(S)) 返回小号; TextElementEnumerator枚举= StringInfo.GetTextElementEnumerator(S); 变种元素=新的List<焦炭>(); ,而(enumerator.MoveNext()) { 变 ..
发布时间:2016-10-01 18:32:49 C#/.NET

没有任何理由在UTF-8更喜欢UTF-16?

检查UTF-16和UTF-8的属性,我找不到任何理由,更喜欢UTF-16。 然而,检查了Java和C# ,它看起来像字符串和字符有默认为UTF-16。我想,这可能是由于历史原因,或者出于性能的原因,也没有找到任何信息。 任何人都知道为什么这些语言选择UTF-16?而且没有任何正当理由对我来说,做到这一点,以及 编辑:同时我也发现的这个答案,这似乎是相关的,有一些有趣的链接 ..
发布时间:2016-09-08 18:17:04 Java开发

具有UTF-8的NVarChar存储在SQL Server 2008中的麻烦

我用 System.Net.WebClient 从网站提取数据,当数据回来的一切分析,看上去除非音符的字母不错。例如,当它返回一个电子时,SQL Server 2008将其保存为 A©。 只是需要弄清楚如何将这些UTF-8字符转换成一些SQL Server可以读取。我将其存储在一个 NVARCHAR(MAX)的数据类型。 我使用LINQ到SQL插入到数据库中,如果你是好奇。 这是 ..
发布时间:2016-09-07 11:30:58 C#/.NET

为什么mbstowcs返回&QUOT;无效的多字节字符&QUOT;

“קמ&安培; QUOT;דחיר!”是从GDB的变量打印粘贴输入字符串拷贝。调用mbstowcs返回-1,其它输入为NULL。对什么是错的任何想法/如何解决这个问题? “\\ 327 \\ 247 \\ 327 \\ 236安培; QUOT;!\\ 327 \\ 223 \\ 327 \\ 227 \\ 327 \\ 231 \\ 327 \\ 250 \\ 000 \\ 000 \\ 000 ..
发布时间:2016-08-24 13:17:51 C/C++开发

如何打印UTF-16字符用C?

我有一个包含UTF-16字符的文件。我读的文件中,并可以字符存储在一个uint16_t数组或字符数组(任何更好的选择?) 但我怎么打印这些字符? 解决方案 我假设你要打印到标准输出或标准错误。一种方法是使用 libiconv的从UTF-16转换为UTF-32(也称为作为UCS-4)成宽字符串( wchar_t的)。然后,您可以使用 wprintf 和朋友打印到标准流。 ..
发布时间:2016-08-23 10:21:45 C/C++

UTF-16字符串结束

什么是一个UTF-16字符串字符串终止序列? 编辑: 让我改一下这个问题,试图澄清。公司如何调用 wcslen()工作? 解决方案 统一code没有定义字符串终止符。您的环境或语言一样。例如,C字符串使用为0x0作为一个字符串结束,在.NET语言不使用一个字符串结束在所有 - 它们定义在字符串类单独的值来存储长度的字符串。 要回答你的第二个问题, wcslen 查找终止 L'\\ 0 ..
发布时间:2016-08-22 16:40:28 C/C++

wchar_t的在Linux上的UTF-16?

这有什么意义使用 wchar_t的* 在Linux上存储UTF-16连接codeD文字?最明显的问题是, wchar_t的是在Linux和UTF-16四个字节通常需要两个(或有时两两组)每字符字节。 我试图使用第三方库,正是如此,它似乎非常混乱。看起来事情搞砸,因为在Windows wchar_t的是两个字节,但我只是想仔细检查,因为这是一个pretty昂贵的商业库,可能是我只是不“不懂的东西。 ..
发布时间:2016-08-22 14:45:49 服务器开发

如何转换UTF-16为UTF-32和打印在C致使wchar_t的?

我试图打印出的UTF-16字符的字符串。我张贴了这个问题而回,并给出的建议是用iconv转换为UTF-32和打印为wchar_t的字符串。 我做了一些研究,并设法code以下内容: // * c是指向字符(UTF-16)我试图打印 //深圳是我想要打印输入的字节大小iconv_t侧脑室; 烧焦in_buf [深圳] 字符*的; 为size_t in_sz; 烧焦out_buf [SZ * 2 ..
发布时间:2016-08-19 14:01:07 C/C++

如何最好地使用Windows“16位的wchar_t丑陋处理?

我写信给使用MinGW,它提供了一个虚拟的UTF-8环境应用程序中使用了一层包装。该处理的文件名功能从UTF-8转换并调用相应的“_W”功能,等包装。我碰到的最大问题是,Windows“ wchar_t的是16位的。 有关文件系统操作,这不是什么大不了的事。我可以来回转换UTF-8和UTF-16之间,这样就可以了。但标准的C多字节/宽字符转换API不允许多wchar_t的字符。 可能的解决方案 ..
发布时间:2016-08-18 15:01:04 C/C++

转换UTF-16为UTF-8在Windows和Linux下,在C

我在想,如果有一个推荐的“十字”Windows和Linux从UTF-16LE字符串转换为UTF-8的目的的方法?或者应该为每个环境使用不同的方法? 我已经设法谷歌“的iconv”一些参考,但somreason我找不到基本转换的样本,如 - 转换wchar_t中UTF-16为UTF-8 任何人都可以推荐,这将是“十字”的方法,如果你知道引用或样品指导,会非常AP preciate它。 谢谢,D ..
发布时间:2016-08-17 22:17:50 C/C++

奋力转换矢量&lt;&字符GT;到wstring的

我需要UTF16文本转换为UTF8。实际转换code是简单的: 的std :: wstring的在(...); 性病::串出=的boost ::区域:: CONV :: utf_to_utf&LT;焦炭,wchar_t的&GT;(中); 然而问题是,UTF16被从文件中读取并且它可以或可以不包含的BOM。我的code需要便携式(最小的是windows / OSX / Linux)的。我真的在 ..
发布时间:2016-08-12 18:23:20 C/C++开发