Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
can';t convert";[“带编码的”gb2312“至”ruby1.9.3中的“utf-8”_Ruby_Encoding_Utf 8 - Fatal编程技术网

can';t convert";[“带编码的”gb2312“至”ruby1.9.3中的“utf-8”

can';t convert";[“带编码的”gb2312“至”ruby1.9.3中的“utf-8”,ruby,encoding,utf-8,Ruby,Encoding,Utf 8,我正在学习ruby,并尝试从ftp服务器获取文件名。我获取的字符串是用gb2312(简体中文)编码的,在大多数情况下,这些代码都是成功的: str = str.force_encoding("gb2312") str = str.encode("utf-8") 但是,如果字符串包含符号“[”或“[””,则会在编码“:”GB2312(Encoding::InvalidByteSequenceError)”上出现“\xFD”后跟“\x88”的错误:“”Ruby编码允许进行大量的内省。这样,您就可以

我正在学习ruby,并尝试从ftp服务器获取文件名。我获取的字符串是用gb2312(简体中文)编码的,在大多数情况下,这些代码都是成功的:

str = str.force_encoding("gb2312")
str = str.encode("utf-8")

但是,如果字符串包含符号
“[”
“[”
”,则会在编码“:”GB2312(Encoding::InvalidByteSequenceError)”上出现“\xFD”后跟“\x88”的错误:“
”Ruby编码允许进行大量的内省。这样,您就可以很好地了解如何处理给定字符串:

"【".encoding
=> #<Encoding:UTF-8>
"【".valid_encoding?
=> true
"【".force_encoding("gb2312").valid_encoding?
=> false
如果你有一个混合字符编码的字符串,你就完蛋了。如果没有大量的猜测,就无法找到答案

"【".encode("gb2312", invalid: :replace, undef: :replace)
=> "\x{A1BE}"