3

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

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

4

1 回答 1

3

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 代码示例:

Ruby 1.8.7(或 Rails 2.x)中的 String.force_encoding()

于 2013-01-19T05:32:31.700 回答