gpt4 book ai didi

ruby - 如何在 Windows 上的 Ruby 中只向 STDOUT 写入一个 0x0A 字符?

转载 作者:可可西里 更新时间:2023-11-01 09:17:41 24 4
gpt4 key购买 nike

如何在 Windows 上的 Ruby 中将一个 0x0A 字符写入 STDOUT。只有一个,没有 0x0D。

@EDIT:感谢大家!我知道二进制/文本模式的概念,但不知道如何在 Ruby 解释器中处理它。解决方案是使用 STDOUT.binmode

有一个悬而未决的问题,即如何使用平台独立代码将 STDOUT 切换回文本模式。

最佳答案

这是由于“虚拟换行符”。在(Ruby) IO 层,此功能负责将“\n”(0x0A,LF)映射到/从Operating Systems definition of a newline。 . Windows 将“\n”映射到 CR+LF(而“\n”在类 Unix 系统中未更改地映射到 LF)。

使用ios.binmode将流置于禁用“虚拟换行”模式的二进制模式。这对于处理图像等二进制流也很重要;-)

快乐编码。

关于ruby - 如何在 Windows 上的 Ruby 中只向 STDOUT 写入一个 0x0A 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7533909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com