gpt4 book ai didi

linux - 从文件读取和写入

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:27 24 4
gpt4 key购买 nike

我有很多关于 linux 语言环境的问题,尤其是不同的编码。1. 我在bash中执行以下命令时使用的语言环境是什么?

// Привет - Russian "Hello"
echo "Привет" > ./test.txt

据我所知,它应该使用通过 locale 命令获取的语言环境。

经过一些更改语言环境的实验后,我总是通过 cat ./test.txt 在我的控制台上得到正确的答案。 但为什么呢?为什么当我从 “ru_RU.iso88595”“ru_RU.koi8r” 等更改语言环境时,我总是得到正确的结果?

这是否意味着实际上我的语言环境没有改变?或者文件编码与当前语言环境无关?

注意:当我通过 export LC_ALL="ru_RU.iso88595" 设置 LC_ALL 时,我得到 bash: warning: setlocale: LC_ALL: cannot change locale (ru_RU .iso88595),但是 echo $? 给我 0 之后 locale 返回新的语言环境。这个语言环境真的设置了吗?

最佳答案

Which locale is used when I perform the following command in bash?

echo "Привет" > ./test.txt

没有。数据是在引号之间逐字记录的。如果文件是UTF-8,就写成UTF-8。

Why when I change locale from "ru_RU.iso88595", "ru_RU.koi8r", etc. I always get correct result?

cat somefile 只是将文件逐字转储到您的终端。不涉及 cat 和/或您的 shell 的语言环境。终端以任何配置的方式显示它(如果您使用 screen,它有自己的输入和输出配置,独立于 shell 和终端)。

I get bash: warning: setlocale: LC_ALL: cannot change locale (ru_RU.iso88595)

这是一条来自 Bash 的消息,表明它在将新语言环境应用于当前 session 时遇到问题。您可能已经设置了语言环境,但设置为无效值。确保它出现在 locale -a 的输出中,否则不会安装。

关于linux - 从文件读取和写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17929424/

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