新手问题 关于十六进制字符串的重音号问题

ewinds · March 26, 2014 · Last by ewinds replied at March 26, 2014 · 2553 hits

比如我有个 String

"\x8e\xa2\xb7\xca\x51\x67\x45\xbf\xea\xfc\x49\x90\x4b\x49\x60\x89"

编译器输出后变成了

"\x8E\xA2\xB7\xCAQgE\xBF\xEA\xFCI\x90KI`\x89"

谁能解释一下\xFCI\x90KI`是怎么回事?rdoc 实在是找不到。

编码问题 K 的 ascii 码是十六进制的 4b。I 的 ascii 编码是 49。

或许可以用 ruby -Ku 看看你的 string

a =  "\x8E\xA2\xB7\xCAQgE\xBF\xEA\xFCI\x90KI`\x89"
b = "\x8e\xa2\xb7\xca\x51\x67\x45\xbf\xea\xfc\x49\x90\x4b\x49\x60\x89"
p a.encoding
p b.encoding

p a==b

估计是 encoding 不同,导致打印的输出不同,内容其实是一样的。

好像是十六进制数能表示成 ascii 码全部 ascii 码表示。ascii 码最大表示 Hex 数是 7F。 `其实是\x60,我的提问有问题。

You need to Sign in before reply, if you don't have an account, please Sign up first.