由于我们的项目会在不同的国家区域上线,而项目中又会在某些输入的地方限制输入的字符串长度,比如一个中文字符占用两个字节,一个英文字符占用1个字节,不同的语言地区可能占用不同,那么如何获得不通字符的长度呢?
先给一个ASCII码例子配置(可以生成一个配置表):
中文字符:4E00-9FFFF占用两个字符 泰语:0E00-0E7F占用1个字符......
判断字符代码:
public int GetStrLength(string inputStr)
{
if (string.IsNullOrEmpty(input)) return 0;
int totalLength = 0;
foreach (var char in inputStr)
{
1、获取char的ASCII码
2、找到char的ASCII码所在配置的范围
3、获取所在范围的占用字符长度配置
}
return totalLength;
}