如何将印度元字符转换为Unicode转义字符

我目前正在为Android设计移动应用程序。 文本和内容采用当地印度语,泰米尔语。 对于欢迎,相当于泰米尔语的翻译是: வணக்கம் 。 由于Android无法显示印度文字,因此我使用名为JavaScript String Escape的服务对其进行转换。

所以这可以这样工作:

  • 输入: வணக்கம்
  • 输出: \u0BB5\u0BA3\u0B95\u0BCD\u0B95\u0BAE\u0BCD

如何使用JavaScript或PHP来实现这一点,因为我需要转换大量文本并将其转换为JSON。 示例JSON:

 { "title": "\u0BAE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0BB5\u0BB0\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD #1", "image": "http://img.androidcookie.com/javascript/doc11.png", "rating": "\u2713 \u0B87\u0BAA\u0BCD\u0BAA\u0BC7\u0BBE\u0BA4\u0BC1 \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD", "rating2": "", "releaseYear": "\u0BA8\u0BBE\u0BB3\u0BCD \u0BAE\u0BC1\u0BB4\u0BC1\u0BB5\u0BA4\u0BC1\u0BAE\u0BCD \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD", "genre": ["\u25B6 \u0B87\u0BA4\u0BAF \u0BA8\u0BBF\u0BAA\u0BC1\u0BA3\u0BB0\u0BCD"] } 

我也想知道如何解码上面的JSON并将其显示为வணக்கம் 。 提前致谢。

您正在寻找的是JavaScript中的escape()和PHP中的json_encode() 。 打开控制台并键入以下内容:

 escape("வணக்கம்") 

你会得到以下回复:

 "%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD" 

所以第一个问题就解决了。 要从上面的内容中恢复原始的வணக்கம் ,请使用unescape()

 unescape("%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD"); 

注意:需要注意的一点是,不推荐使用escape()unescape() 。 所以你需要使用encodeURIComponentdecodeURIComponent

预习

服务器端更新

对于JSON的编码和解码,最好使用PHP的内置函数。 同样的escape()也可以在PHP中用作json_encode() ,它们都给出相同的结果。

 json_encode("வணக்கம்"); => "%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD" 

另请参阅JavaScript:转义特殊字符以获取更多信息。 希望这可以帮助。 :)