java语言判断 ,由于中文和英文所占字节不一致,页面显示中英文所占宽度不一致,怎么高效获取字符串所占字节数,来设置内容所在控件高度

在线等 java语言判断 ,由于中文和英文所占字节不一致,页面显示中英文所占宽度不一致,如何高效获取字符串所占字节数,来设置内容所在控件高度
在线等  java语言判断  ,由于中文和英文所占字节不一致,页面显示中英文所占宽度不一致,如何高效获取字符串所占字节数,来设置内容所在控件高度。

现在项目涉及到英文,中文,西班牙,俄语,阿拉伯语。。。等多国语言,由于语言不一致,所占字节数不一致,在页面所占的宽度也不一样。所以会导致页面样式出现问题。如何高效判断出一个String  不论语言所占的字节。通过所占字节数来设置,td 换不换行。
看过网上的一些例子,大部分是for 循环一个char 取出来判断,再自加长度变量。有没有好的方法,来实现这个功能。
------解决方案--------------------
用现成的控件吧, 反正我是不喜欢搞这些东西。
------解决方案--------------------
想办法让他自动换行才是正道。
------解决方案--------------------
引用:
恩,语言太多,但也就中文,日文,阿拉伯语,和其他的不一致

想到了一个方向:从浏览器上下手,因为实际使用了什么语言、字体、以及页面渲染之后字符的实际宽度只有运行时才知道,假如用js获取宽度,就能用js动态设置控件高度了。
------解决方案--------------------
Java这里的话,可以根据Font获取FontMetrics,然后可以计算不同字符的宽度,高度,基准线等信息
不过页面的话,很难判断,因为即使你指定了
<span style="font: 16px/30px bold italic Arial">ABC</span>

浏览器仍然可能会自行决定使用其他字体

不过,CSS的话,可以用em做单位,控制宽度,ex做单位控制高度
em单位的含义是,当前字体,显示字母M时候的宽度,对应于中文字体,就是一个字的宽度。ex类似,是X的高度。
------解决方案--------------------
阿拉伯文不好说,一则方向是RTL(右到左),二来,字体会连笔,同一个字符可能因为前后其他字符不一样,而呈现不同的宽度。