如何使用 Ruby 1.9 转换字符编码

2023-11-27

我目前在处理 Amazon API 的结果时遇到问题。

该服务返回一个带有 unicode 字符的字符串:在 Mac 上学习 Objective\xE2\x80\x93C(学习系列)

在 Ruby 1.9.1 中,字符串甚至无法被处理:

REXML::ParseException: #<Encoding::CompatibilityError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)>

...

Exception parsing

Line: 1

Position: 1636

Last 80 unconsumed characters:

Learn Objective–C on the Mac (Learn Series)

作为例外,您的字符串是 ASCII-8BIT 编码的。您应该更改编码。有一个很长的故事关于这一点,但如果您对快速解决方案感兴趣,只需force_encoding在进行任何处理之前对字符串进行处理:

s = "Learn Objective\xE2\x80\x93C on the Mac"
# => "Learn Objective\xE2\x80\x93C on the Mac"
s.encoding
# => #<Encoding:ASCII-8BIT>
s.force_encoding 'utf-8'
# => "Learn Objective–C on the Mac"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Ruby 1.9 转换字符编码 的相关文章

随机推荐

  • 在 VirtualBox 来宾中运行 perf

    我的教授要求我跑步 perf stat e mem loads mem stores test 为了让我找到 C 文件的内存加载和存储 我在 VirtualBox Linux 来宾中执行此操作 问题是perf说这是无效或不受支持的事件 任何
  • 在 Clion 中启用 Cuda 代码索引

    我正在使用 Clion 开发 cuda 程序 当扩展名是 h 时 代码突出显示可以正常工作 但是 当它更改为 cuh 时 Clion 仅将新文件视为纯文本文件 并且我无法启用代码突出显示 我知道完整的 Cuda 工具链是不可能的 所以我不希
  • 为 Outlook 2007 构建表单

    我刚刚了解到 Outlook 表单的概念 我不知道这是否能解决我的问题 但这就是我想做的 我希望能够让公司内部的员工填写一些表格 那么我所要做的就是创建表单并将其推送到他们的 Outlook 中 他们填写表格后 我可以以某种方式捕获数据吗
  • WebAPI OData $格式转换为xml

    对于我的 WebAPI OData 应用程序 我试图让我的客户端 浏览器 决定数据输出应该采用什么格式 作为 format尚未在 WebAPI OData 中实现 我在这里使用 Raghuramn 的示例 https gist github
  • React + Typescript:如何输入 event.target.name 来声明?

    我有一些反应状态被定义为一个接口并且有专门命名的键 我尝试了下面的解决方案 该解决方案在技术上应该基于状态键工作 但它仍然给我错误 x string string provides no match for the signature 做这
  • 有没有一种简单的方法可以使用 Microsoft Web Optimization 框架/脚本捆绑来呈现绝对 URL?

    我正在尝试使用 Microsoft 的 Web Optimization 框架呈现 JavaScript 包 如下所示 Scripts Render assets bundle js 并构建一个小包 如下所示 public static v
  • Fabric API 密钥无效

    我正在尝试将 Fabric 安装到我的 iOS 应用程序中 我下载了 Fabric 应用程序来安装 Crashlytics 但是当我在应用程序提供的构建阶段添加运行脚本时 在构建项目后出现错误 第 2 行 1 myfirebaseid io
  • 在 PowerShell 代码中测试文件夹是否是连接点?

    如何在 PowerShell 代码中测试文件夹是否是连接点 至少从 PowerShell v5 0 开始 对链接有了更好的支持 或者 MS 称之为 重新分析点 改进的 Item cmdlet LinkType财产 链接的文章位于 WMF 5
  • 如何访问未导出的结构体字段

    Go 1 8 中有没有办法使用 Reflect 来访问未导出的字段 这似乎不再有效 https stackoverflow com a 17982725 555493 注意reflect DeepEqual工作得很好 也就是说 它可以访问未
  • 禁用对读取(无效 JSON)单引号字符串的支持

    Newtonsoft Json for C 支持读取类似内容 key value 但这是不正确的 JSON 是否可以禁用它 以便它更像 PHP 一样解析和读取 其中 PHP 不支持 key value 但 key value 你可以自己写J
  • 编译所需的BLAS和LAPACK库

    我最近下载了 Gnu Octave 的最新稳定版本 并尝试在我的机器上构建并安装它 Ubuntu 10 0 4 LTS 64 位 当我运行 configure 时 我收到以下错误消息 configure error You are requ
  • Scala @ 运算符

    Scala 的 运算符有什么作用 例如 在博客文章中Scala 中的形式语言处理 第 2 部分有这样的东西 case x Some Nil gt x 它使人们能够将匹配的模式绑定到变量 例如 考虑以下情况 val o Option Int
  • 如何将 stringstream 内容放入 char 而不是 string 类型?

    大家都知道stringstream str 需要一个字符串变量类型来存储内容stringstream str 进去 我想存储的内容stringstream str 转换为 char 变量或 char 数组或指针 可以这样做吗 请写一个简单的
  • 为什么我的正则表达式与 r'string' 匹配,但使用 Python 时不匹配 'string'?

    正则表达式在 Python 中的工作方式是如此令人费解 以至于每一秒都让我更加愤怒 这是我的问题 我知道这给出了一个结果 re search r bmi b grand rapids mi 49505 虽然这没有 re search bmi
  • 迅速。无主相对于弱者的(绝对)唯一的具体优势是性能吗?

    在 Swift 中 我们有正常的默认类型 该对象根本不能变为零 我们有弱类型 该对象可以变为零 如果对象变成nil 你的指针自动变成nil 所以你知道对象变成了nil 我们有无主打字 该对象可以变为零 如果对象变成 nil 你的指针不会发生
  • Gstreamer tcpserversink v0.10 与 1.0 和 HTML5 视频标签

    我正在我的网站中嵌入 HTML5 视频标签 来源是 gstreamer 流 我有一个正在处理 gst 0 10 的管道 gst launch 0 10 v videotestsrc theoraenc oggmux queue tcpser
  • 自定义包装编解码器集成到 Android 中

    我需要开发一个自定义的 包装 视频编解码器并将其集成到 android 中 现在是 JB 稍后是 ICS 我们想要使用 SIM 卡中的一些自定义解密密钥 不要问 最好的方法 允许它与其他非加密媒体一起工作并使用标准媒体播放器或其他 似乎是定
  • jQuery 单击事件仅在 Chrome 中移动鼠标后起作用

    所以我知道有更好的方法来切换风格 但请耐心等待 Chrome 但不是 Firefox 上似乎存在一个小错误 即 单击 事件在事件发生后鼠标移动之前不会执行任何操作 function selectsomething a rel css cli
  • Android Studio 在 macOS Big Sur beta 上崩溃

    更新到 macOS Big 11 0 Beta 20A5395g 的最新 Beta 版本后 Android Studio 4 1 不断关闭 因为 NSOpenGLContext setView must be called from the
  • 如何使用 Ruby 1.9 转换字符编码

    我目前在处理 Amazon API 的结果时遇到问题 该服务返回一个带有 unicode 字符的字符串 在 Mac 上学习 Objective xE2 x80 x93C 学习系列 在 Ruby 1 9 1 中 字符串甚至无法被处理 REXM