gpt4 book ai didi

java - 使用 utf-8 时在文件中保留固定长度的字符串空间?

转载 作者:搜寻专家 更新时间:2023-10-31 20:12:36 29 4
gpt4 key购买 nike

我正在使用 RandomAccessFile,并希望为用户保留文件的固定长度部分以将注释作为字符串输入。我对utf-8的理解是不同的字符可以占用不同的长度,最大占用3个字节。

所以我认为我最好的用户友好选项是告诉用户他们最多可以输入 100 个字符,然后我在文件中为字符串保留 100*3 字节的空间。如果他们使用不需要那么多空间进行编码的字符,那么只会浪费一些空间。

这是这种情况下的典型策略还是有更好的方法?

谢谢

最佳答案

My understanding of utf-8 is that different characters can take up different lengths, the max taking up to 3 bytes.

嗯,不完全是。 Basic Multilingual Plane 中就是这种情况(即最多 U+FFFF)但是 UTF-8 can take up to four bytes对于最多 U+1FFFFF 的字符。 (我不相信目前使用的是除此之外的任何东西。)到那时,您的 Java String 对象也会为每个字符使用多个 char

不过,您可以很容易地分辨出实际使用的特定字符串的长度 - 最简单的选择就是对其进行编码,然后查看您得到了多少字节。我怀疑在大多数情况下允许更多文本对用户更友好,但对于确切可以使用多少个字符并不“公平”(即某些字符比其他字符占用更多空间)。这实际上取决于您的用户是否会注意到,以及他们是否想使用超过 100 个字符...

关于java - 使用 utf-8 时在文件中保留固定长度的字符串空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068457/

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