Main Content

代码生成中的字符编码

MATLAB® 以 16 位 Unicode 表示字符。代码生成器以区域设置确定的 8 位代码集表示字符。MATLAB 和代码生成之间的字符编码差异会导致以下后果:

  • 对编码数值大于 255 的字符,代码生成会出现错误。

  • 对于 128-255 范围内的某些字符,可能无法以区域设置的代码集表示字符,或无法将该字符转换为等效的 16 位 Unicode 字符。在 MATLAB 和生成的代码之间传递此范围内的字符可能导致错误或产生不同的结果。

  • 对于代码生成,某些工具箱函数只接受 7 位 ASCII 字符。

  • 如果将不在 7 位 ASCII 代码集中的字符转换为数值类型(例如双精度类型),则在生成的代码中得到的结果可能与在 MATLAB 中得到的结果有所不同。对于代码生成,最好避免对字符执行算术运算。

相关主题