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

来源:互联网 发布:网民的网络行为特征 编辑:程序博客网 时间:2024/06/07 21:27

使用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

原创粉丝点击