Tag: unicode

使用Unicode格式化阿拉伯语和日语文本?

有没有人有任何代码用于按字母顺序排列Unicode中的阿拉伯语和日语文本? 如果代码在ruby中会很棒。

使用\ d扫描字符串中的Unicode数字

根据Oniguruma文档 , \d字符类型匹配: 十进制数字char Unicode:General_Category – Decimal_Number 但是,在包含所有Decimal_Number字符的字符串中扫描\d导致只匹配拉丁0-9位数: #encoding: utf-8 require ‘open-uri’ html = open(“http://www.fileformat.info/info/unicode/category/Nd/list.htm”).read digits = html.scan(/U\+([\da-f]{4})/i).flatten.map{ |s| s.to_i(16) }.pack(‘U*’) puts digits.encoding, digits #=> UTF-8 #=> 0123456789٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨… p RUBY_DESCRIPTION, digits.scan(/\d/) #=> “ruby 1.9.2p180 (2011-02-18) [i386-mingw32]” #=> [“0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”] 我误读了文档吗? 为什么不匹配其他Unicode数字,和/或有没有办法让它这样做?

如何在Ruby 1.9上替换Unicode gem?

不幸的是,Unicode 0.1( sudo gem install unicode )在Ruby 1.9上不起作用。 我有以下代码段: require “rubygems” require “unicode” str = “áéíóúç” Unicode.normalize_KD(str).gsub(/[^\x00-\x7F]/n, “”) #=> aeiouc 我使用它将标题转换为永久链接,而不删除重音字符。 有没有办法使用pack或unpack方法转换这些文本?

将不间断空格转换为Ruby中的空格

我有一些情况,当编码为utf-8 json时,来自html textarea或输入的用户输入数据有时会以\u00a0 (非中断空格)而不是空格发送。 我认为这是Firefox中的一个错误,因为我知道用户不是故意放入不间断的空格而不是空格。 Ruby中还有两个错误,其中一个可以用来对抗另一个。 无论出于什么原因, \s都不匹配\u00a0 。 但是[^[:print:]] ,绝对不应该匹配)和\xC2\xA0都匹配,但我认为那些是不太理想的方法来处理这个问题。 是否有其他建议可以解决这个问题?

Ruby on Rails。 Unicode路由

是否可以在Rails中将Unicode字符串设置为路径段? 我尝试以下方法: # app/controllers/magazines_controller.rb class MagazinesController < ApplicationController def index end end # encoding: utf-8 # config/routes.rb PublishingHouse::Application.routes.draw do resources :magazines, :only => :index, :path => :журналы # a Unicode string is set as a segment of the path end # encoding: utf-8 # config/routes.rb PublishingHouse::Application.routes.draw do resources :magazines, :only => :index, :path => :журналы […]

如何使用Ruby转义Unicode字符串?

我需要使用反斜杠将Unicode字符串编码/转换为其转义forms。 谁知道怎么样?

Ruby Regex错误:不兼容的编码regexp匹配(ASCII-8BIT regexp与UTF-8字符串)

我有两个错误,都围绕编码和两者相关。 我在启动WEBrick时遇到的第一个错误(技术上是警告): /Users/USERNAME/example/config/initializers/bb-ruby.rb:54: warning: invalid Unicode Property \P: /\:\-?\P/ 它指的是: /\:\-?\P/, 这只是一些正则表达式,最终是这个块的一部分: @@tags[‘Razzing’] = [ /\:\-?\P/, ”, ‘Razzing’, ‘:P’, :razzing] 然后,我在解析一些字符串时也会得到以下错误(可能是由于同一行)… Encoding::CompatibilityError incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string) 我正在运行Ruby 1.9.2和Rails 3.2.1。

如何确定角色是否是汉字

如何判断一个角色是否是使用ruby的汉字?

字符串#coding不修复“UTF-8中的无效字节序列”错误

我知道关于这个错误有很多类似的问题,我已经尝试了很多没有运气的问题。 我遇到的问题涉及字节\xA1并且正在抛出 ArgumentError:UTF-8中的无效字节序列 我试过以下但没有成功: “\xA1”.encode(‘UTF-8’, :undef => :replace, :invalid => :replace, :replace => “”).sub(”, ”) “\xA1”.encode(‘UTF-8’, :undef => :replace, :invalid => :replace, :replace => “”).force_encoding(‘UTF-8’).sub(”, ”) “\xA1”.encode(‘UTF-8’, :undef => :replace, :invalid => :replace, :replace => “”).encode(‘UTF-8’).sub(”, ”) 每一行都为我抛出错误。 我究竟做错了什么? 更新: 上述行仅在IRB中失败。 但是,我修改了我的应用程序,使用相同的String#encode方法和参数对CVS文件的行进行编码,从文件中读取行时出现相同的错误(注意:如果对同一个字符串执行操作,它会起作用没有使用IO)。 bad_line = “col1\tcol2\tbad\xa1″ bad_line.sub(”, ”) # does NOT fail puts bad_line # => […]

如何在Ruby中检测字符串中的某些Unicode字符?

给定Ruby 1.8.7中的字符串(没有使用\ p {}支持Unicode属性的令人敬畏的Oniguruma正则表达式引擎),我希望能够确定该字符串是否包含一个或多个中文,日文或韩文字符; 即 class String def contains_cjk? … end end >> ‘日本語’.contains_cjk? => true >> ‘광고 프로그램’.contains_cjk? => true >> ‘艾弗森将退出篮坛’.contains_cjk? => true >> ‘Watashi ha bakana gaijin desu.’.contains_cjk? => false 我怀疑这将归结为查看字符串中的任何字符是否在Unihan CJKV Unicode块中 ,但我认为值得询问是否有人知道Ruby中的现有解决方案。