Android中文件名的最大长度是多少?

32

我正在尝试为我创建的文件命名。 我想知道 Android 中文件名的最大长度是多少?

有没有关于文件名的规范? 我能使用像 -> 这样的字符吗?

5个回答

26

在安卓系统中,标签的长度超过127个字节是不安全的。据我所知,255个字节的限制是目标,但仍在开发中。上周,当音乐同步软件生成了大约160个字符长度的文件名时,我的Galaxy Tab 10.1的SD卡文件系统被损坏了。将文件名限制在127个字符以内解决了这个问题。除非您确信您特定版本是可靠的,否则请使用127的限制来保证安全。


4
1个字符等于2个字节。因此,它限制为127个字符。 :) - Sufian
ASCII字符是1个字节,对吧?为什么会是2个字节呢? - Sam YC
@SamYC Unicode字符是2个字节。此外,一些UTF8编码使用1或2个字节表示一个字符。 - TheMisir
UTF-8字符最长可以达到4个字节。例如(https://en.wikipedia.org/wiki/UTF-8#Encoding)。当你说“Unicode字符是2个字节”时,我想你指的是UCS-2将一个字符编码为2个字节。这是否意味着,如果你的文件名仅由这些字符组成,那么它最多只能有63个字符长度? - Wodin

15
关于字符:阅读这里,看起来-不是保留字符,因此可以使用。然而>是保留字符,不能使用。
关于最大长度:由于我无法找到适用于Android的具体限制,并且Java不会限制其使用的文件名长度(如您可以在这里看到),我认为最大长度就像最广泛使用的限制一样,即255字节。

这个扩展实际上会进入那255个字符吗? - Egor
1
是的,扩展名被认为是路径的一部分。 - Jong
2
@Egor,这是因为一个字符等于2个字节,所以127个字符限制,即254个字节。Mel在下面给出了非常有信息量的答案。 - Sufian

1
在资源名称(例如图像)的特定情况下,我发现最大长度为100个字符,包括扩展名。我已在Android Studio 1.2 beta中验证了此内容。我确信Android文档中一定有相关说明。

0

我发现“-”(连字符)是命名规则中的标准。通常会使用特殊字符来提高可读性,例如“.”。然而,“.”在文件类型命名中始终用作分隔符,无论操作系统如何。这个规则追溯到计算机诞生的早期。年轻用户不了解的是,在那些早期年代,规则是非常严格的。相比之下,现代协议更多地利用假设来缩短代码长度。正如您的智能手机比旧IBM360小一样,现代指令集也是如此。


-1

Android中的最大文件大小为

255


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接