gpt4 book ai didi

perl - 使用带有 unicode 文件名的文件 I/O API 的通用方法是什么?

转载 作者:行者123 更新时间:2023-12-01 11:59:51 27 4
gpt4 key购买 nike

在 Windows 中有一个 common problem : 在将文件名传递给 open() 之前,应将文件名转换为本地代码页。当然,有可能使用 Win32::API为此,但我不希望我的脚本依赖于平台。目前我必须写一些类似的东西:

open IN, "<", encode("cp1251", $filename) or die $!; 

但是有没有隐藏这些细节的库?我认为可以自动检测本地代码页,所以我只想传递 unicode 文件名而忽略细节。为什么它仍然不在盒子里?

最佳答案

曾经只能工作到 5.8.1,然后 Jarkko 将其移除,并打破了 -C 开关,在顶部进行了一个无偿的不兼容更改。这使 Windows 成为二等公民,直到今天都让我很恼火,因为任何其他动态语言都没有这个可笑的缺陷。或许现在是我们可以听到为这种更糟的变化辩护的好时机。

无论如何,你想要PerlIO::fse ,但这并不是一个完美的解决方案,您很快就会自己发现这一点。

关于perl - 使用带有 unicode 文件名的文件 I/O API 的通用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796127/

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