作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
a.force_encoding("BINAR-6ren">
force_encoding
方法是否有不修改调用者对象的版本?
因此,当前的 force_encoding 是这样工作的:
> a
=> "Ü"
> a.force_encoding("BINARY")
=> "\xC3\x9C"
> a
=> "\xC3\x9C"
我希望结果是这样的:
> a
=> "Ü"
> a.force_encoding_non_destructive("BINARY")
=> "\xC3\x9C"
> a
=> "Ü"
请注意,我完全理解 a.force_encoding("UTF-16LE").force_encoding("UTF-8")
产生相同的结果(假设 a
当然,以前是 UTF-8)并且字符串中的字节没有被修改。但是,字符串状态被修改了,因此这种方法是破坏性的。例如:
a="a"
a.freeze
a.force_encoding("BINARY")
# raises error
最佳答案
force_encoding
在不改变接收方字节方面是非破坏性的。它只是改变了字节的解释方式,即它改变了字符串的字符:
a = "Ü"
a.bytes.to_a #=> [195, 156]
a.chars.to_a #=> ["Ü"]
a.force_encoding("BINARY")
a.bytes.to_a #=> [195, 156]
a.chars.to_a #=> ["\xC3", "\x9C"]
编码存储在字符串实例中。要获得“二进制”编码的副本,请使用:
a.dup.force_encoding("BINARY")
关于ruby - 非破坏性force_encoding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17024244/
我正试图让这个 map 功能成为一个更具破坏性的版本。这意味着 map 函数会修改原始数组而不是新数组。 function map (array, callback) { var result =
破坏性 Lisp 函数名称中的“N”缩写是什么词? 最佳答案 这是一个直接的答案from Linearity的 link : The N stands for non-consing, meaning
这是带有数据绑定(bind)元素的 html: div data-bind="foreach: clientRequests" id="test2">
我是一名优秀的程序员,十分优秀!