S3のファイル名の最大長はどれくらいですか


84

盲目かもしれませんが、S3のドキュメントで、S3にアップロードできるファイル名の最大長を見つけることができません。


6
なぜこれがオフトピックとしてクローズされたのか分かりません。Q&A形式に最適です。
James McMahon

回答:


109

アマゾンのドキュメントから次のように、

これらの名前はオブジェクトキーです。キーの名前は、UTF-8エンコーディングの長さが最大1024バイトのUnicode文字のシーケンスです。

ファイル名の最大長は1024文字です。名前の文字がUTF-8表現で複数のバイトを必要とする場合、使用可能な文字の数が減ります。


5
言語が16ビットのUnicode文字を表す場合、これは((1024 bytes * 8 bits/byte) / 16 bits/character) = 512 charactersです。しかし、彼らが何を使っているかを知る方法は?
ベン

11
@Ben Unicode!= UTF-8。UTF-8は、Unicodeをビットのセットにエンコードする方法です。(7ビット)ASCIIセットの文字の場合、UTF-8は1バイト/ 8ビットのみを使用します。他の文字の場合はおそらく2バイトですが、3または4の場合もあります。したがって、ASCII文字のみを使用するファイル名の場合、ファイル名の最大長は1024文字になります。
Josh Gallagher

22
最初は「1024バイトのUTF8エンコードテキスト!= 1024文字」のようでしたが、「ああ、でも最大は1024文字のままです」のようでした。面白いことに、インターネット上で見知らぬ人が間違っていることを示すことに熱心になることがあります(そして、投稿する前に自分が間違っていることにほとんど気付かない方法:D)
Romain

@Romainは一見しただけで聞こえます。しかし、それは論理的に正しいだけではありません。これを超えて、答えは役立つはずです。Unicode!= UTF-8に注意しないと、読者は、エンコードを考慮せずに、 "keystring" .length()<= 1024であると信じて誤解する可能性があります。
スティーブ

3
その非常に簡単です。キーが米国のアルファベット(ASCIIセット)のみで構成されている場合、1024文字になります。öäüのようなドイツ語のウムラウトのみを使用する場合、それらはUTF-8でエンコードされた2バイトであるため、512文字のスペースしかありません。
マーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.