草庐IT

utf8_unicode_cs

全部标签

c++ - C++0x 中的新 unicode 字符

我正在构建一个API,它允许我获取各种编码的字符串,包括utf8、utf16、utf32和wchar_t(根据操作系统可能是utf32或utf16)。新的C++标准引入了新的类型char16_t和char32_t没有这种大小的歧义,应该在将来使用,所以我也想支持它们,但问题是,它们会干扰正常的uint16_t吗?,uint32_t,wchar_t类型不允许重载,因为它们可能引用相同的类型?classsome_class{public:voidset(std::string);//utf8stringvoidset(std::wstring);//wcharstringutf16orut

ruby-on-rails - 如何在 Rails 中将文本转换为 unicode?

在我的数据库中,我有以下条目id|name|info1JohnSmithÇö¿¬¼如您所知,信息栏显示错误--但它实际上是韩语。在Chrome中,当我将浏览器编码从UTF-8切换为韩语(我认为是“euc-kr”)时,我实际上设法这样查看文本:id|name|info1JohnSmith횉철쩔짭쩌然后我手动将文本复制到数据库中的信息中并保存,现在我可以在UTF-8中查看它,而无需切换浏览器的编码。太棒了。现在我想在Rails中完成同样的事情,而不是手动完成。所以再次从原始条目开始,我转到控制台并输入:require'iconv'u=User.find(1)info=u.infonew_i

Ruby Unicode 编码

Ruby的Unicode编码是什么?我知道大多数语言都像Java一样以UTF-16编码。我想知道Ruby是用什么编码的。我检查了文档,但找不到任何引用。 最佳答案 Ruby支持多种编码。尝试在irb中输入以下内容:Encoding.name_list另请参阅这些博客条目:Ruby1.9StringRuby1.9:defaultencodings 关于RubyUnicode编码,我们在StackOverflow上找到一个类似的问题: https://stacko

ruby - 按字素拆分 Unicode 实体

"d̪".chars.to_a给我["d","̪"]我如何让Ruby按字素拆分它?["d̪"] 最佳答案 编辑:作为@michau的回答说明,Ruby2.5引入了grapheme_clusters方法,如果您只想迭代/枚举而不必创建数组,则还引入了each_grapheme_cluster。在Ruby2.0或更高版本中,您可以使用str.scan/\X/>"d̪".scan/\X/=>["d̪"]>"d̪d̪d̪".scan/\X/=>["d̪","d̪","d̪"]#Let'sgetcrazy:>str='Z͑ͫ̓ͪ̂ͫ̽͏̴̙̤

ruby - 在 Ruby 中枚举字符的 Unicode 属性?

有没有办法在Ruby中枚举一个字符的所有Unicode属性?我可以使用Ruby1.9的Regexp类来测试给定字符是否具有特定属性(例如,some_char=~/\p{P}/来测试some_char是标点符号等)...但是由于字符可以具有多个属性((,例如,既是标点符号又是和ASCII等),这会很好只是能够获得一个角色的所有属性的列表。我可能可以使用unicode_data.txt或任何它的名称来手动完成此操作,但这似乎是某处可能已经完成的事情。UnicodeUtils似乎没有任何类似的东西,谷歌搜索也没有发现任何明显的东西。谢谢! 最佳答案

ruby - 将 unicode 字符与 unicode 字符范围进行比较时的异常行为

出于某种原因,我在unicode字符的范围比较中得到了意想不到的结果。总而言之,在我最小化的测试代码中,("\u1000".."\u1200")==="\u1100"是false,我希望它是true--而针对"\u1001"的相同测试是true正如预期的那样。我觉得这完全不可理解。的结果运算符也很有趣——它们与===相矛盾.以下代码是一个很好的最小说明:#encoding:utf-8require'pp'a="\u1000"b="\u1200"r=(a..b)x="\u1001"y="\u1100"ppa,b,r,x,yputs"ax=#{b>x}"puts"ay=#{b>y}"put

Ruby 1.8 Iconv UTF-16 到 UTF-8 失败,出现 "\000"(Iconv::InvalidCharacter)

我在处理Windows机器上生成的表格数据的文本文件时遇到问题。我在Ruby1.8工作。在处理文件中的第二行时,以下给出错误(“\000”(Iconv::InvalidCharacter))。第一行正确转换。require'iconv'conv=Iconv.new("UTF-8//IGNORE","UTF-16")infile=File.open(tabfile,"r")while(line=infile.gets)line=conv.iconv(line.strip)#FAILSHEREputsline#DOMORESTUFFHEREend奇怪的是它读取并转换文件中的第一行没有问题。

ruby - 如何将 UCS2 字符串转换为 UTF8?

如何将UCS2中的字符串(每个字符2个字节)转换为Ruby中的UTF8字符串? 最佳答案 你应该看看iconv,它是Ruby标准库的一部分。它专为此任务而设计。具体而言,Iconv.iconv("utf-8","utf-16",str).first应该处理转换。 关于ruby-如何将UCS2字符串转换为UTF8?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1033104/

ruby - 如何在 Ruby 中使用 UTF-16LE 源代码?

我有以下名为test.rb的文件,编码为UTF-16LE#encoding:UTF-16LEtest="test!"ptest使用以下命令运行它不会产生任何结果ruby./test.rb我在这里错过了什么?如果有人想知道,我试图将我的源代码设置为UTF-16LE编码的原因是我正在使用UTF-16LE输入和输出文件编码。我的印象是,如果我在读入文件时正确设置编码并在输出时正确设置编码并且我在源代码中正确设置了#encoding:,那么一切都应该正常工作。如果有人发现此方法(或更简单的方法)有任何问题,请随时告诉我。 最佳答案 用UTF

ruby - 从 Ruby 中的 UTF-16 编码文件中读取内容

我想读取一个文件的内容并将其保存到一个变量中。通常我会做类似的事情:text=File.read(filepath)不幸的是,我正在处理一个使用UTF-16LE编码的文件。我一直在做一些研究,看起来我需要改用File.Open并定义编码。我在某处读到一条建议,说要打开文件并逐行读取数据:text=File.open(filepath,"rb:UTF-16LE"){|file|file.lines}但是如果我运行:putstext我得到:#如何将UTF-16LE文件的内容读入变量?注意:我使用的是Ruby1.9.3和Windows操作系统 最佳答案