Rails 对 'puts' 和 'return' 使用不同的编码
Rails uses different encoding for 'puts' vs 'return'
我有一个 Rails 方法是这样结束的:
puts encrypted
return encrypted
控制台输出:
#?$???z???e7Bw?1I?F???????s?w
=> "#\x9A$\xB1\xBA\xF4z\x8F\x97\xECe\a7Bw\xE01I\xEDF\xA6\xBE\xEA\xE0\xFC\xF6\xB9\x1Cs\x00\xC0w\x14"
- 为什么在同一个地方输出并且没有任何 encode/decode 指令时这些结果看起来不同?
- 如何让 Rails 在调用
puts encrypted
时输出更长的版本?
IRB 在转储它们之前对其值调用 inspect
,以便在这种情况下公开可能输出为 ?
或更糟的代码。
尝试 p encrypted
,然后尝试 puts encrypted.inspect
。
我有一个 Rails 方法是这样结束的:
puts encrypted
return encrypted
控制台输出:
#?$???z???e7Bw?1I?F???????s?w
=> "#\x9A$\xB1\xBA\xF4z\x8F\x97\xECe\a7Bw\xE01I\xEDF\xA6\xBE\xEA\xE0\xFC\xF6\xB9\x1Cs\x00\xC0w\x14"
- 为什么在同一个地方输出并且没有任何 encode/decode 指令时这些结果看起来不同?
- 如何让 Rails 在调用
puts encrypted
时输出更长的版本?
IRB 在转储它们之前对其值调用 inspect
,以便在这种情况下公开可能输出为 ?
或更糟的代码。
尝试 p encrypted
,然后尝试 puts encrypted.inspect
。