Encoding 如何对UTF-8进行编码以创建不区分大小写的ASCII文件名?

Encoding 如何对UTF-8进行编码以创建不区分大小写的ASCII文件名?,encoding,utf-8,filesystems,ascii,Encoding,Utf 8,Filesystems,Ascii,我有一个UTF-8字符串列表,其中大多数是ASCII,但其中一些包含朝鲜语/日语字符。我想创建一个与每个字符串关联的文件。为了避免文件系统不支持这些奇怪字符的任何问题,我想以某种方式将每个UTF-8字符串编码为ASCII以生成其文件名。生成的ASCII应该不区分大小写,并且都是小写的,以避免Windows不区分大小写的文件系统出现问题。(例如,Base64编码不起作用。)有哪些方法可以做到这一点?查找。百分比编码也应该可以工作,尽管如果使用批处理文件可能会导致问题。urlencode可能会有所帮

我有一个UTF-8字符串列表,其中大多数是ASCII,但其中一些包含朝鲜语/日语字符。我想创建一个与每个字符串关联的文件。为了避免文件系统不支持这些奇怪字符的任何问题,我想以某种方式将每个UTF-8字符串编码为ASCII以生成其文件名。生成的ASCII应该不区分大小写,并且都是小写的,以避免Windows不区分大小写的文件系统出现问题。(例如,Base64编码不起作用。)有哪些方法可以做到这一点?

查找。百分比编码也应该可以工作,尽管如果使用批处理文件可能会导致问题。urlencode可能会有所帮助。它几乎翻译字母数字破折号以外的所有字符,所以可能太多了,但它可以进行双射翻译。然后,您可以使用一个翻译字符(但仍然是ascii)作为转义(作为小写的前缀),并将所有字符串大写。但是,如果您希望尽可能做到最兼容,您将遇到文件名长度问题。做一个8.3文件名和一个带有映射的文件。它的一些变体看起来应该满足您的要求。您必须将输入UTF-8视为一个整数值数组。