Unix 转换twitter存档unicode转义

Unix 转换twitter存档unicode转义,unix,twitter,unicode,utf-8,Unix,Twitter,Unicode,Utf 8,我有一个推特档案,里面有大约60000条推特,大部分是法语。 其中,重音字符使用U转义十六进制表示。例如,“animéE”一词表示为“anim\u00E9e”。 现在,我想把它转换成UTF-8。好消息是,有一个unix实用程序可用于此目的,称为ascii2uni 坏消息是,显然任何可以解释为十六进制数字的东西都会被解释为十六进制数字。因此,我没有用“动画”,而是用了一句废话:“动画”ພ" 那么,我如何才能将这些tweet转换为UTF-8,而不会像那样损坏它呢?ascii2uni程序的默认格式不起

我有一个推特档案,里面有大约60000条推特,大部分是法语。 其中,重音字符使用U转义十六进制表示。例如,“animéE”一词表示为“anim\u00E9e”。 现在,我想把它转换成UTF-8。好消息是,有一个unix实用程序可用于此目的,称为ascii2uni

坏消息是,显然任何可以解释为十六进制数字的东西都会被解释为十六进制数字。因此,我没有用“动画”,而是用了一句废话:“动画”ພ"


那么,我如何才能将这些tweet转换为UTF-8,而不会像那样损坏它呢?

ascii2uni程序的默认格式不起作用。但幸运的是,您可以定义自己的自定义格式

echo 'aim\u00E9e \uD852\uDF62 bbb' | ascii2uni -Z '\u%04X'

中文字符取自。

我尝试了您的第一个解决方案,但从iconv收到错误消息“不支持从Java转换”“第二种解决方案似乎有效。我会试试看是否有错误。它似乎在工作。我曾尝试使用一个具有类似假设的正则表达式,但我无法使其工作,谢谢。我仍然会遇到一系列类似这样的错误:Unicode代理U+D83D在UTF-8 at-e第5行、第72863行中是非法的。Unicode代理U+DC80在UTF-8的-e第5行、第72863行中是非法的。我认为这是由于汉字或表情符号造成的。