小编dka*_*kam的帖子

确定Ruby 1.9.3中的字符编码

My Rails 3.2.2/Ruby 1.9.3应用程序获取搜索请求,例如:

http://booko.com.au/books/search?q=Fran%E7ois+Vergniolle+de+Chantal
Run Code Online (Sandbox Code Playgroud)

Ruby/Rails接受此查询并对其进行解码 - 但假设它是UTF-8.在某些时候,我得到一个:

invalid byte sequence in UTF-8
app/models/product.rb:694:in `upcase' 
Run Code Online (Sandbox Code Playgroud)

我认为它正在做这样的事情:

q="Fran%E7ois+Vergniolle+de+Chantal"
=> "Fran%E7ois+Vergniolle+de+Chantal"

CGI.unescape( q )
=> "Fran\xE7ois Vergniolle de Chantal"

CGI.unescape( q ).encoding.name
=> "UTF-8"

CGI.unescape( q ).valid_encoding?
=> false
Run Code Online (Sandbox Code Playgroud)

处理这个问题的正确方法是什么?我想将其转码为正确的编码 - 但我如何确定当前的编码?我现在正在做的,只是假设它是LATIN1:

q.encode!("ISO-8859-1", "UTF-8", :invalid => :replace, :undef => :replace, :replace => "")
Run Code Online (Sandbox Code Playgroud)

或者做某些我在博客上找到的东西:

q = q.unpack('C*').pack('U*')
Run Code Online (Sandbox Code Playgroud)

处理这个问题的正确方法是什么?

编辑 服务器正在向客户端正确发送"Content-Type:text/html; charset = utf-8"标头.该页面还包含相应的元标记:'meta http-equiv ="content-type"content ="text/html; charset = UTF-8"'

不确定是否有另一种方法告诉客户端使用哪种编码?

ruby character-encoding ruby-on-rails-3

7
推荐指数
1
解决办法
1万
查看次数

寻找产品和商店的最佳组合以最小化成本的算法

你好Stackoverflow人,

我经营一个网站,发现其用户是最便宜的购买书籍的地方.这对于一本书来说很容易,但对于多本书来说,在一家商店购买一本书和从另一家商店购买另一本书有时会更便宜.

目前我找到了销售用户列表中所有书籍的最便宜的商店,但我希望拥有一个更智能的系统.这里有更多信息:

  • 商店的价格是不变的.
  • 运费的价格可能会有所不同,具体取决于书籍数量或书籍的总价值.
  • 每个商店对象都可以购买一系列书籍并返回运费.
  • 通常,并非每家商店都出售每本书.

不确定这里链接到我的网站是否很酷,但它列在我的用户个人资料中.

我希望能够找到最便宜的商店和书籍组合.

我担心它需要蛮力的方法 - 并且有35家商店,对于适量的书籍来说,组合的数量将是巨大的.我觉得组合的数量是(#shops)^(#books) - 但不是100%

问题是,我应该采用什么方法?这个问题是否适合众所周知的问题?如果需要蛮力,在Ruby中这样做的好方法是什么?我可以优先考虑商店先尝试吗?

ruby algorithm math combinations

6
推荐指数
1
解决办法
2355
查看次数

计算Ruby中一个字节的奇偶校验

在Ruby中计算字节是否具有奇数或偶数奇偶校验的最佳方法是什么?我有一个版本工作:

result = "AB".to_i(16).to_s(2).count('1').odd?
=> true
Run Code Online (Sandbox Code Playgroud)

将数字转换为字符串并计算"1"似乎是计算奇偶校验的一种不好的方法.有更好的方法吗?

我希望能够计算3DES密钥的奇偶校验.最终,我想将偶数字节转换为奇数.

谢谢,丹

ruby 3des des parity

6
推荐指数
1
解决办法
1389
查看次数

我应该如何解析Ruby中的固定长度记录文件?

我想知道是否有人对在Ruby中解析具有固定长度记录的文件有任何建议.该文件有几个部分,每个部分都有一个标题,n个数据元素和一个页脚.例如(这是完全废话 - 但内容大致相似)

1923  000-230SomeHeader     0303030 
209231-231992395    MoreData
293894-329899834    SomeData
298342-323423409    OtherData
3     3423942Footer record  9832422
Run Code Online (Sandbox Code Playgroud)

在此示例中,页眉,页脚和数据行均以特定数字(1,2和3)开头.

我查看了http://rubyforge.org/projects/file-formatter/它看起来不错 - 除了文档很轻,我看不到如何拥有n个数据元素.

干杯,丹

ruby parsing

2
推荐指数
1
解决办法
2814
查看次数