gpt4 book ai didi

svn - 为什么 Subversion 给我的一些 UTF-8 文本文件内容类型为 "application/octet-stream"?

转载 作者:行者123 更新时间:2023-12-01 23:55:14 24 4
gpt4 key购买 nike

我得到了一些 UTF-8 编码的文本文件(带有日文文本),并将它们添加到 Subversion 存储库中。

令我惊讶的是,其中一个将自动属性svn:mime-type设置为application/octet-stream,而其他人没有得到任何具体的编码信息。

这些文件是有效的 UTF-8,文件 报告“UTF-8 Unicode 文本,带有 CRLF 行终止符”

这是怎么回事? Subversion 如何决定一个文件是否应该被视为二进制文件?

最佳答案

我在 Subversion sources 中找到了解释,在 svn_io_is_binary_data 中:

/* Right now, this function is going to be really stupid.  It's
going to examine the block of data, and make sure that 15%
of the bytes are such that their value is in the ranges 0x07-0x0D
or 0x20-0x7F, and that none of those bytes is 0x00. If those
criteria are not met, we're calling it binary.

NOTE: Originally, I intended to target 85% of the bytes being in
the specified ranges, but I flubbed the condition. At any rate,
folks aren't complaining, so I'm not sure that it's worth
adjusting this retroactively now. --cmpilato */

对于 UTF-8 中的日语文本,大多数代码点将使用三个字节,每个字节都是 >= 0x80

我的文件没有更多触发此行为的原因是带有 ASCII 范围内字符的小序言。

关于svn - 为什么 Subversion 给我的一些 UTF-8 文本文件内容类型为 "application/octet-stream"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24119945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com