Was ist die maximale Länge eines Dateinamens in S3

83

Vielleicht bin ich blind, aber ich kann in der S3-Dokumentation nicht die maximale Dateinamenlänge finden, die in S3 hochgeladen werden kann.

ohe
quelle
6
Keine Ahnung, warum dies als Off-Topic geschlossen wurde. Es passt perfekt zum Q & A-Format.
James McMahon

Antworten:

108

Wie aus der Amazon-Dokumentation hervorgeht ,

Diese Namen sind die Objektschlüssel. Der Name eines Schlüssels ist eine Folge von Unicode-Zeichen, deren UTF-8-Codierung höchstens 1024 Byte lang ist.

Die maximale Dateinamenlänge beträgt 1024 Zeichen.

S3 Browser Team
quelle
5
Wenn Ihre Sprache Unicode-Zeichen mit 16 Bit darstellt, ist dies ((1024 bytes * 8 bits/byte) / 16 bits/character) = 512 characters. Aber woher wissen, was sie verwenden?
Ben
11
@ Ben Unicode! = UTF-8. UTF-8 ist eine Möglichkeit, Unicode in eine Reihe von Bits zu codieren. Für Zeichen im (7-Bit-) ASCII-Satz verwendet UTF-8 nur 1 Byte / 8 Bit. Für andere Zeichen sind es wahrscheinlich 2 Bytes, manchmal aber auch 3 oder 4. Für Dateinamen, die ausschließlich ASCII-Zeichen verwenden, beträgt die maximale Dateinamenlänge 1024 Zeichen.
Josh Gallagher
22
Zuerst war ich wie "1024 Bytes UTF8-codierter Text! = 1024 Zeichen", und dann war ich wie "ah ja, aber das Maximum sind immer noch 1024 Zeichen". Komisch, wie manchmal man so eifrig sein kann, einen Fremden im Internet falsch zu demonstrieren (und wie man fast nie merkt, dass man sich irrt, bevor man schreibt: D)
Romain
@Romain klingt auf den ersten Blick richtig. Aber dann geht es nicht nur logisch richtig nicht. Darüber hinaus sollte die Antwort hilfreich sein. Wenn Sie Unicode! = UTF-8 nicht beachten, kann der Leser es missverstehen, indem er glaubt, solange "keystring" .length () <= 1024 ist, ohne die Codierung in Betracht zu ziehen.
Steve
3
Es ist ziemlich einfach. Wenn Ihr Schlüssel nur aus US-Alphabet (ASCII-Satz) besteht, haben Sie 1024 Zeichen. Wenn ich nur deutsche Umlaute wie öäü verwende, habe ich nur Platz für 512 Zeichen, da diese in UTF-8 2 Byte codiert sind.
Marc