按理说现在Office都支持Unicode,怎么写都不会乱码。
实际上,Visio里面还存在,在图的名字上如果用日文就会乱码。
而且明明选好的日文,再打开又是中文了。郁闷

还好Office现在都有xml格式,保存后的xml为Unicode编码,里面的乱码就是日文了。
1. 先剔除xml: 连续的char大于oxff是汉字语句
2. 乱码转中文:Encoding.GetEncoding("SHIFT_JIS").GetString(Encoding.Default.GetBytes(word))
3. 自动区分乱码日文:根据转码前后的字符数变化。正确中文转日文后会变长,乱码日文转日文后不变
4. 上面长度判断法会有少数误判,做个保留词汇表,用于剔除误判的。

28M的xml扫描一次3秒,转换一次5秒。转换后基本正确,打开后再保存为二进制格式减肥。
代码和程序:https://files.cnblogs.com/steeven/Translator.rar

相关文章:

  • 2021-12-15
  • 2021-11-28
  • 2021-08-08
  • 2021-04-21
  • 2021-10-14
  • 2021-11-28
  • 2021-08-08
猜你喜欢
  • 2022-01-15
  • 2022-12-23
  • 2021-10-09
  • 2021-07-28
  • 2021-11-19
相关资源
相似解决方案