我是一名用户体验设计师,我们正在开发一个产品,需要为用户提供文本输入框以插入他们的注释。无论用户使用繁体中文或英语输入,都需要有字数限制指示。 我的问题是: 如果字符限制为15,那么我这样说对吗: I am in Sweden(11/15个字符) 我在瑞典(4/15个字符) 有人告诉我,一个汉字算作2个字节的代码,一个英文字母算作1个字节。这会如何影响字符限制?我想确保我的设计对开发人员来说尽可能清晰。
所以这是关于显示大小的问题,对吧?在这种情况下,计算单词数是没有用的,因为一个单词可以很长。计算字符稍微有些有用,但也不能保证消息最终适合,因为不同的字符具有不同的宽度。举个例子,这四个字符串都包含五个字符:""" ""WWWWW""﷽﷽﷽﷽﷽"真的没有一种优雅的方法来解决这个问题。您需要知道您正在使用的字体的精确度量,然后计算每个输入的视觉宽度。如果您接受“足够接近”的解决方案,您可以使用元素的maxlength属性。但是,HTML和JavaScript计算UTF-16代码单元,这意味着所谓的基本多语言平面中的字符计为1,而其他所有内容都计为2。基本多语言平面包含了99%的常用字符,因此绝大多数用户可能不会注意到任何问题。您可以使用JavaScript进行更高级的操作,但我认为对于这种任务来说并不是必要的。请记住,即使采用这种方法,也不能保证用户的输入在打印时 视觉上 符合要求,除非您预留了很多空白区域以防万一。一定要尝试一些窄字符和宽字符,看看它们在打印时实际占用了多少空间。