2016-12-26 37 views
0

使用AWS s3存儲桶上的UTF-8格式的文件名時,我發現某些引用的文件名(在鏈接到文件在s3桶)可能不同於我的python應用程序(我使用boto庫)的代碼引用相同的文件名。正如我發現他們不同normalization forms of unicode不同,並使用unicodedata.normalize後問題消失。什麼是AWS S3桶的Unicode規範化表單

但是我還沒有發現關於歸一化形式,其正在使用的AWS(NFCNFKCNFDNFKD或)的任何信息,所以我將高度讚賞trasted源的任何suggestance其提供信息,謝謝。

+1

看起來很奇怪,S3會標準化對象鍵。你能提供一個示例代碼點序列和它轉換成什麼樣的序列嗎? –

回答

0

它看起來像S3不適用任何規範化本身。如果我從Mac上再上傳(使用S3 Web控制檯)一個帶有unicode名稱的文件(例如Ärende.txt)到S3,再從Windows上傳到S3,我將在S3中結束兩個文件。它們在S3控制檯中看起來一樣,但是它們被S3視爲不同,因爲名稱的編碼不同。

你將不得不考慮它是如何影響你的應用程序(用戶),並相應地進行調整。例如,如果您的用戶可能會在不同的環境(Mac與Windows或Linux)之間切換並期望一致的跨平臺行爲,那麼您似乎需要自己規範化名稱。如果你的用戶一直在單一平臺上工作,那麼你不需要關心最可能的。