【问题标题】:How to write "string".encode("us-ascii") in ruby 1.8.7?如何在 ruby​​ 1.8.7 中编写 "string".encode("us-ascii")?
【发布时间】:2013-01-19 03:37:18
【问题描述】:

我正在尝试使用“gmail_xoauth”gem,不幸的是,gem 将encode("us-ascii") 用于字符串,这仅适用于 Ruby 1.9.3。

我不熟悉 Ruby 1.9.3 中的 encode,所以我想知道 "string".encode("us-ascii") 是什么以及如何为 1.8.7 编写它?

【问题讨论】:

    标签: ruby ruby-1.9.3 ruby-1.8.7


    【解决方案1】:

    string.encode("us-ascii") 方法将字符串中的所有字符转换为美国 ASCII 7 位值。

    US-ASCII 本质上是总共 128 个字符的纯文本。这种编码在 1970 年代至 1990 年代的美国计算机上很常见。

    您现在看到它的原因可能是因为您使用的是电子邮件。电子邮件协议要求对字符串进行 US-ASCII 编码。

    Ruby 1.8.7 没有内置字符串编码方法,因为 Ruby 1.8.7 将字符串存储为字节,而不是编码字符。

    要在 Ruby 1.8.7 中进行转换,请参阅 Iconv 库:

    http://ruby-doc.org/stdlib-1.8.7/libdoc/iconv/rdoc/Iconv.html

    另请参阅此答案中的转换 iconv 代码示例:

    String.force_encoding() in Ruby 1.8.7 (or Rails 2.x)

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 1970-01-01
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多