什么是AWS S3存储桶的Unicode规范化表单

时间:2016-12-26 12:19:57

标签: python unicode amazon-s3

在AWS s3存储桶上使用UTF-8格式的文件名时,我发现一些引用的文件名(在s3存储桶中的文件的链接中)可能与同一文件不同我的python应用程序的代码引用的名称(我正在使用boto库)。我发现它们因normalization forms of unicode不同而有所不同,使用unicodedata.normalize后问题就消失了。

但是,我还没有找到任何有关AWS(NFCNFKCNFDNFKD)使用的规范化表单的信息,所以我会非常感谢提供该信息的任何有关传播源的建议,谢谢。

1 个答案:

答案 0 :(得分:0)

看起来S3本身不应用任何规范化。如果我上传(使用S3 Web控制台)一个带有unicode名称的文件(例如Ärende.txt)从Mac上升到S3并再次从Windows上载,我最终会在S3中找到两个文件。它们在S3控制台中看起来相同,但它们被S3视为不同,因为名称的编码不同。

您必须准确考虑它如何影响您的应用程序(用户)并相应地进行调整。例如,如果您的用户可以在环境之间切换(Mac vs Windows vs Linux)并期望一致的跨平台行为,那么您似乎需要自己规范化名称。如果您的用户始终在一个平台上工作,那么您最不需要关心。