URI.unescape 在尝试将“%C3%9Fą”转换为“ßą”时崩溃

2023-12-27

我在用URI.unescape http://ruby-doc.org/stdlib-1.9.3/libdoc/uri/rdoc/URI/Escape.html#method-i-unescape要取消转义文本,不幸的是我遇到了奇怪的错误:

 # encoding: utf-8
 require('uri')
 URI.unescape("%C3%9Fą")

结果是

 C:/Ruby193/lib/ruby/1.9.1/uri/common.rb:331:in `gsub': incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)
    from C:/Ruby193/lib/ruby/1.9.1/uri/common.rb:331:in `unescape'
    from C:/Ruby193/lib/ruby/1.9.1/uri/common.rb:649:in `unescape'
    from exe/fail.rb:3:in `<main>'

why?


不知道为什么,但你可以使用CGI.unescape method:

# encoding: utf-8
require 'cgi'
CGI.unescape("%C3%9Fą")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

URI.unescape 在尝试将“%C3%9Fą”转换为“ßą”时崩溃 的相关文章

随机推荐

  • C# 中拦截对属性 get 方法的调用

    假设我们有这个类 public class Person public int Id get set public string Name get set 现在 在 C 中是否可以拦截对属性获取方法的调用 运行其他方法并返回该方法的结果而不
  • 将字符串文字分配给 char 数组,如何将字符串文字复制到堆栈上?

    我知道当您执行 char array string 时 字符串文字 string 会从数据段复制到堆栈 字符串文字是否逐字符复制 或者编译器获取字符串文字的起始和结束地址并将整个字符串一次性复制到堆栈中 thanks 只要观察到的结果相同
  • Provider 与 InheritedWidget

    我错了还是我们只是想传递一个值Widget tree Provider https pub dev packages provider只是一个InheritedWidget with a dispose method 是的 Provider
  • Skia 或 Direct2D 如何使用 GPU 渲染线条或多边形?

    这是一道了解2d矢量图形GPU加速渲染原理的题 使用 Skia 或 Direct2D 您可以绘制例如圆角矩形 贝塞尔曲线 多边形 还有模糊等效果 Skia Direct2D 提供基于 CPU 和 GPU 的渲染 For the CPU渲染
  • TreeView ContextMenu MVVM 绑定

    我目前有一个使用 MVVM 模型的 UserControl 该控件中有一个 TreeView 它显示一些项目 我为此 TreeView 添加了一个 HierarchicalDataTemplate 并且在该模板中是项目的 ContextMe
  • MongoDB 无法更新文档,因为 _id 是字符串,而不是 ObjectId

    我正在做一个rest api来在mongo数据库和网络应用程序之间交换数据 这些数据是json格式的 我在更新文档时遇到了麻烦 cannot change id of a document 事实上 在我的 JSON 中 文档的 id 存储为
  • 如果其他线程只读取共享数据,OpenMP 是否需要原子写入?

    我在 C 中有一个 openmp 并行循环 其中所有线程都访问一个共享的 double 数组 每个线程仅在其自己的数组分区中写入 两个线程不能写入同一个数组条目 每个线程读取其他线程写入的分区 只要双精度值是旧值或更新值 不是读取半写入的双
  • 我可以在 Python 类型提示中使用 __qualname__ 并推迟注释评估吗?

    我喜欢用 qualname 对于工厂式类方法的返回类型注释 因为它不会对类名进行硬编码 因此可以保持子类的工作 参见这个答案 https stackoverflow com a 58789374 857390 class Foo class
  • 如何对 XSLT 中多个节点的值求和

    我需要一个循环到特定节点position 以及这些节点的总和 例如 如果我的位置是 2 那么节点 1 节点 2 如果我的位置是 5 那么节点 1 节点 2 节点 3 节点 4 节点 5 在 XSLT 中如何做到这一点 有以下 xml
  • 仅为页面的某些部分(div)定义不同数量的 Bootstrap 4 列?

    默认情况下 Bootstrap 4 有 12 列 可以通过 https getbootstrap com docs 4 0 getting started theming https getbootstrap com docs 4 0 ge
  • 如何在 unix 中守护任意脚本?

    我想要一个守护程序 它可以将任意通用脚本或命令转换为daemon http en wikipedia org wiki Daemon computer software 我想处理两种常见情况 我有一个应该永远运行的脚本 如果它死掉了 或重新
  • 解决 Module 类中的 AutoFac 依赖关系

    我是 AutoFac 的新手 目前正在我的应用程序配置中使用自定义模块来启动一些核心 F 系统 我正在使用的代码是 var builder new ContainerBuilder builder RegisterType
  • 感兴趣的区域 opencv python

    我正在尝试使用 opencv python 获取图像区域 ROI 使用的opencv版本是2 4 3 但是当我尝试调用 API 时 cv2 SetImageROI 它返回这个错误 AttributeError module object h
  • 添加上下文菜单到 IE 来执行我的程序

    我想知道如何向 IE 上下文菜单 右键单击菜单 添加新项目 以便复制网站中选定的文本 打开我的 winform 应用程序 C 并将文本粘贴到我的应用程序中的文本框中 您可以向 IE 标准上下文菜单添加一个条目来打开您的程序 为此 请按照下列
  • C# 形式的 R 脚本。传递参数、运行脚本、检索结果

    我想知道是否可以在传递值列表的同时运行 Rscript 运行该 R 脚本 然后将结果值列表输出回 c 我见过有人说 R NET 很好 但我只看到过使用它直接创建值 操作它们 访问它们等的示例 而我想做的是运行已经创建的脚本来接收数据 处理它
  • 在运行时升级权限 (Windows API C/C++)

    我的应用程序并不总是需要 管理员 权限 大多数时候都会以当前用户身份运行 有什么方法可以在程序运行后通过在运行时抛出 UAC 来升级权限吗 这只会在我需要权限时发生 而不必从高权限开始 我知道 runas 技术 清单文件等 但所有这些都是在
  • 使用例如构建源代码后的清理策略。 git

    我 主要 使用 git 从源代码下载和编译各种项目 将源代码保存在 usr local src并将二进制文件安装在 usr local bin 遵循构建程序 通常使用 configure make make install 我留下了很多垃圾
  • 在 MVC4 razor 中使用“远程”验证处理多个提交按钮

    我的事件表单中有两个按钮 如下所示 using Ajax BeginForm Create Events new AjaxOptions InsertionMode InsertionMode Replace HttpMethod POST
  • 有没有javascript的统计库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要在 javascript 上实现一些统计测试 例如 T 测试 Anova 和 Wilcoxon 与
  • URI.unescape 在尝试将“%C3%9Fą”转换为“ßą”时崩溃

    我在用URI unescape http ruby doc org stdlib 1 9 3 libdoc uri rdoc URI Escape html method i unescape要取消转义文本 不幸的是我遇到了奇怪的错误 en