问题起因
Unity3D 创建的脚本文件写入中文无法在文件预览视图正确显示中文。
解决方案
1.更改脚本模板的编码并写入中文
1.进入unity模板文件夹
unity的安装目录DataResourcesScriptTemplates
2.找到C# Script-NewBehaviourScript.cs.txt文件
3.用记事本打开另存为Utf-8,并追加中文文字
如果不追加中文可能造成结果还是ascill编码
2.编写代码编码转换
1.核心代码
//获取当前对象路径
string filePath = "文件路径";
//读取目标数据
byte[] fileBytes = File.ReadAllBytes(filePath);
//创建字符串
StringBuilder context = new StringBuilder();
for (int i = 0,length=fileBytes.Length; i < length; i ++)
{
if (fileBytes[i]< 0 || fileBytes[i] > 127)
{
//中文处理,通过gbk获取正确汉字
context.Append(Encoding.GetEncoding("gbk").GetString(new byte[] { fileBytes[i], fileBytes[i + 1] }));
i++;
}
else
{
//英文直接转化
context.Append(Encoding.Default.GetString(new byte[] { fileBytes[i] }));
}
}
//写回文件
File.WriteAllText(filePath,context.ToString(),Encoding.UTF8);
2.最终效果