Яка максимальна довжина імені файлу в S3


84

Можливо, я сліпий, але я не можу знайти в документації S3 максимальну довжину імені файлу, яку можна завантажити в S3.


6
Поняття не маю, чому це було закрито як тему. Це ідеально підходить для формату запитань та відповідей.
James McMahon

Відповіді:


109

Як випливає з документації Amazon ,

Ці імена є ключами об’єкта. Назва ключа - це послідовність символів Unicode, кодування UTF-8 яких становить не більше 1024 байт.

Максимальна довжина імені файлу - 1024 символи. Якщо символи в назві потребують більше одного байта в поданні UTF-8, кількість доступних символів зменшується.


5
Якщо ваша мова представляє символи Unicode з 16 бітами, це так ((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 символи.
Джош Галлахер

22
Спочатку я був схожий на "1024 байта тексту, закодованого UTF8! = 1024 символи", а потім я був схожий на "ах так, але макс. Все одно 1024 символи". Забавно, як іноді ти можеш так прагнути демонструвати незнайомця неправильно в Інтернеті (і як ти майже ніколи не усвідомлюєш, що помиляєшся перед розміщенням повідомлення: D)
Ромен

@Romain звучить прямо на перший погляд. Але тоді справа не лише в ЛОГІЧНО правильному, ні. Крім цього, відповідь повинна бути корисною. Якщо не зауважити Unicode! = UTF-8, читач може неправильно зрозуміти його, вважаючи довжиною "keystring" .length () <= 1024, не розглядаючи кодування.
Стів

3
Це досить просто. Якщо ваш ключ складається лише з американського алфавіту (набір ASCII), у вас буде 1024 символи. Якщо я використовую лише німецькі umlauts, такі як öäü, у мене буде лише 512 символів, оскільки це 2 байти, закодовані в UTF-8.
Марк,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.