跨系统避免换行符导致字节差异的方法
在不同操作系统下,会因为换行符导致字节差异,下面介绍了一个方法精确控制输出内容的字节。
Linux 下
LC_ALL=C.UTF-8 echo -n "context" > file.txt
echo -n "context" | iconv -t UTF-8 > file.txt
Windows 下
[System.IO.File]::WriteAllBytes("file.txt", [System.Text.Encoding]::UTF8.GetBytes("content"))
注意事项
- 这两个命令都可以精确控制输出内容的字节,避免 Windows(
\r\n)和 Linux(\n)因不同换行策略导致的字节不同。 - 在需要严格一致的文件内容(如校验哈希、跨平台脚本等场景)时,推荐使用上述方式。