在MATLAB中转换unicode字符

时间:2016-08-28 20:12:26

标签: matlab unicode

我有以下字符串,我想知道如何将其转换为常规字符串(它最初包含阿拉伯字符)?

\u062a\u0648\u062f\u0647 \u0648 \u0634\u0645\u0627\u0631 \u0633\u0627\u0632\u0648\u0627\u0631\u0647\u0647\u0627\u06cc \u0632\u0646\u062f\u0647 \u062f\u0631 \u062c\u0627 \u06cc

提前致谢。

1 个答案:

答案 0 :(得分:1)

x表示原始字符串。然后你可以使用

y = char(hex2dec(strsplit(x, '\\u')).');

工作原理:

  1. strsplit(..., '\\u')'\u'出现时拆分字符串。结果是(子)字符串的单元格数组。
  2. hex2dec(...).'将每个字符串解释为十六进制数并转换为十进制数。结果是一个数字行向量。
  3. char将每个数字转换为一个字符,生成一个字符串。
  4. 对于您的示例字符串

    x = '\u062a\u0648\u062f\u0647 \u0648 \u0634\u0645\u0627\u0631 \u0633\u0627\u0632\u0648\u0627\u0631\u0647\u0647\u0627\u06cc \u0632\u0646\u062f\u0647 \u062f\u0631 \u062c\u0627 \u06cc'
    

    代码给出了

    y =
     تودهوشمارسازوارههایزندهدرجای
    

    不知道这意味着什么: - )