utf-16相关内容
请澄清一下,UTF16是如何工作的? 我有点困惑,考虑这些点: 在C ++中有一个静态类型,WCHAR,长。 (总是2字节长)obsouly) 大部分的msdn和一些其他文档似乎有假设,字符总是2字节长。这可能只是我的想象力,我不能提出任何特定的例子,但它只是似乎这样。 没有“extra wide”函数或字符类型广泛使用C ++或windows,所以我假设UTF16是所有需要的。 对
..
我必须处理一个文件格式(从它读取和写入),其中字符串以UTF-16(每个字符2个字节)进行编码。由于ASCII表中的字符很少在应用程序域中使用,所以我的C ++模型类中的所有字符串都存储在std :: string(UTF-8编码)的实例中。 我正在寻找一个库(在STL和Boost没有运气搜索)或一组C / C ++函数来处理这个std :: string UTF-16转换加载或保存到文件格
..
我有一个简单的问题要问。我有一个UTF 16文本文件读取,以FFFE开始。什么是C ++工具来处理这种文件?我只是想读它,过滤一些行,并显示结果。 看起来很简单,但我只是在使用普通的ascci文件的经验,我很匆忙。我使用VS C ++,但我不想使用托管C ++。 注意 这里给一个非常简单的例子 wifstream文件; file.open(“C:\\appLog.tx
..
我想知道如何规范化字符串(包含utf-8 / utf-16)在C / C ++。 在.NET中有一个函数 String.Normalize 。 我过去使用UTF8-CPP,但它不提供这样的功能。 ICU 和Qt提供字符串规范化,但我更喜欢轻量级解决方案。 有没有任何“轻量级”的解决方案? 解决方案 正如我在另一个问题, utf8proc 是一个非常好的,轻量级的库,用于基本
..
我正在开发一个只有英语的C ++程序在Windows中,我们被告知“总是使用std :: wstring”,但似乎没有人在团队中真正有很多的了解以外。 我已经阅读过题为“std :: wstring VS std :: string的问题。这非常有帮助,但我仍然不太明白如何将所有信息应用到我的问题。 我正在工作的程序在Windows GUI中显示数据,该数据以XML格式保存,我们经常使
..
使用微小的 utfcpp 库可以转换我从使用utf16to8将有效的UTF8格式的Windows API(FindFirstFileW等)转换为有效的UTF8格式? 我想在内部使用UTF8,但是无法获得正确的输出经过另一次转换或简单cout)。 还是有更简单的替代方法? 谢谢! 更新:感谢汉斯(下面),我现在有一个通过Windows API轻松的UTF8 UTF16转换。双
..
自从一开始我一直在使用StackOverflow,有时被诱惑提出问题,但我总是要么自己想出来,要么找到最终发布的答案...直到现在。这种感觉非常简单,但我一直在互联网上漫游几个小时没有成功,所以我转过来: 我有一个漂亮的标准utf-16文本文件,混合的英文和中文字符。我希望这些字符结束在一个字符串(技术上,一个wstring)。我已经看到了很多相关的问题(这里和其他地方),但是他们要解决读取
..
我想用二进制模式写入一个wstring文件与streamstream,但我认为我做错了。这是我试过的: ofstream outFile(“test.txt”,std :: ios :: out | std :: ios :: binary); wstring hello = L“hello”; outFile.write((char *)hello.c_str(),hello.l
..
我试图URL编码一些字符串,但我有一个由.NET Framework提供的方法问题。 比如说,我想的包含“A”字符编码字符串。据 W3Schools的比如说,我希望这个卡拉科特编码为“%E2' (和PHP系统我必须调用预计,太...) 我尝试使用以下方法: System.Web.HttpUtility.UrlEncode(“A”); System.Web.HttpUtili
..
我写了这个方法来扭转一个字符串 公共字符串反转(字符串s) { 如果(string.IsNullOrEmpty(S)) 返回小号; TextElementEnumerator枚举= StringInfo.GetTextElementEnumerator(S); 变种元素=新的List<焦炭>(); ,而(enumerator.MoveNext()) { 变
..
检查UTF-16和UTF-8的属性,我找不到任何理由,更喜欢UTF-16。 然而,检查了Java和C# ,它看起来像字符串和字符有默认为UTF-16。我想,这可能是由于历史原因,或者出于性能的原因,也没有找到任何信息。 任何人都知道为什么这些语言选择UTF-16?而且没有任何正当理由对我来说,做到这一点,以及 编辑:同时我也发现的这个答案,这似乎是相关的,有一些有趣的链接
..
我用 System.Net.WebClient 从网站提取数据,当数据回来的一切分析,看上去除非音符的字母不错。例如,当它返回一个电子时,SQL Server 2008将其保存为 A©。 只是需要弄清楚如何将这些UTF-8字符转换成一些SQL Server可以读取。我将其存储在一个 NVARCHAR(MAX)的数据类型。 我使用LINQ到SQL插入到数据库中,如果你是好奇。 这是
..
“קמ&安培; QUOT;דחיר!”是从GDB的变量打印粘贴输入字符串拷贝。调用mbstowcs返回-1,其它输入为NULL。对什么是错的任何想法/如何解决这个问题? “\\ 327 \\ 247 \\ 327 \\ 236安培; QUOT;!\\ 327 \\ 223 \\ 327 \\ 227 \\ 327 \\ 231 \\ 327 \\ 250 \\ 000 \\ 000 \\ 000
..
我有一个包含UTF-16字符的文件。我读的文件中,并可以字符存储在一个uint16_t数组或字符数组(任何更好的选择?) 但我怎么打印这些字符? 解决方案 我假设你要打印到标准输出或标准错误。一种方法是使用 libiconv的从UTF-16转换为UTF-32(也称为作为UCS-4)成宽字符串( wchar_t的)。然后,您可以使用 wprintf 和朋友打印到标准流。
..
什么是一个UTF-16字符串字符串终止序列? 编辑: 让我改一下这个问题,试图澄清。公司如何调用 wcslen()工作? 解决方案 统一code没有定义字符串终止符。您的环境或语言一样。例如,C字符串使用为0x0作为一个字符串结束,在.NET语言不使用一个字符串结束在所有 - 它们定义在字符串类单独的值来存储长度的字符串。 要回答你的第二个问题, wcslen 查找终止 L'\\ 0
..
这有什么意义使用 wchar_t的* 在Linux上存储UTF-16连接codeD文字?最明显的问题是, wchar_t的是在Linux和UTF-16四个字节通常需要两个(或有时两两组)每字符字节。 我试图使用第三方库,正是如此,它似乎非常混乱。看起来事情搞砸,因为在Windows wchar_t的是两个字节,但我只是想仔细检查,因为这是一个pretty昂贵的商业库,可能是我只是不“不懂的东西。
..
我试图打印出的UTF-16字符的字符串。我张贴了这个问题而回,并给出的建议是用iconv转换为UTF-32和打印为wchar_t的字符串。 我做了一些研究,并设法code以下内容: // * c是指向字符(UTF-16)我试图打印 //深圳是我想要打印输入的字节大小iconv_t侧脑室; 烧焦in_buf [深圳] 字符*的; 为size_t in_sz; 烧焦out_buf [SZ * 2
..
我写信给使用MinGW,它提供了一个虚拟的UTF-8环境应用程序中使用了一层包装。该处理的文件名功能从UTF-8转换并调用相应的“_W”功能,等包装。我碰到的最大问题是,Windows“ wchar_t的是16位的。 有关文件系统操作,这不是什么大不了的事。我可以来回转换UTF-8和UTF-16之间,这样就可以了。但标准的C多字节/宽字符转换API不允许多wchar_t的字符。 可能的解决方案
..
我在想,如果有一个推荐的“十字”Windows和Linux从UTF-16LE字符串转换为UTF-8的目的的方法?或者应该为每个环境使用不同的方法? 我已经设法谷歌“的iconv”一些参考,但somreason我找不到基本转换的样本,如 - 转换wchar_t中UTF-16为UTF-8 任何人都可以推荐,这将是“十字”的方法,如果你知道引用或样品指导,会非常AP preciate它。 谢谢,D
..
我需要UTF16文本转换为UTF8。实际转换code是简单的: 的std :: wstring的在(...); 性病::串出=的boost ::区域:: CONV :: utf_to_utf&LT;焦炭,wchar_t的&GT;(中); 然而问题是,UTF16被从文件中读取并且它可以或可以不包含的BOM。我的code需要便携式(最小的是windows / OSX / Linux)的。我真的在
..