您的位置:首页 > 移动开发 > Unity3D

【Unity学习笔记】UGUI输入框中将中文设置为两个字节

2017-10-28 10:52 1741 查看
使用Input Field自带的character limit在输入时会将中文当作一个字节

通常中文占两个字节

byte[] tempByte;    //存储字节数组
public int upperLimit = 12  //限制字节数
public InputField _inputField;

void Start()
{
//添加回调
_inputField.onValueChanged.AddListener(CheckByteCount);
}
void CheckByteCount(string inputText) {
inputText = inputText.Replace(" ", "");    //去掉空格
tempByte = Encoding.GetEncoding("GB2312").GetBytes(inputText.ToCharArray());

if (tempByte.Length >= upperLimit)
_inputField.characterLimit = inputText.Length;
else
//在字节数小于限制时重现设置输入上限
_inputField.characterLimit = upperLimit;

_inputField.text = inputText;
}


测试结果:

英文输入结果



中文输入结果



参考:

https://www.douban.com/note/334994123/?type=rec
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: