c-识别本机字符编码和转换注释



我有一些源代码有外语注释。我不知道这是什么语言,但代码是一个中国产品附带的。该产品的文档是中文的,所以我怀疑下面显示的源代码也是用中文注释的。然而,我怀疑存在字符编码问题,因为这些字符看起来不像中文——我看到的是随机字符的组合。也许我只是不懂语言。

不管怎样,我想知道是否有人能建议我如何翻译这个。在线翻译毫无用处。也许如果我能以某种方式识别出正确的字符编码集,那么我就可以渲染中文,只需使用谷歌翻译。这将帮助我更好地理解这些代码是如何工作的。

SCLK_INIT();//ϵͳʱÖÓÅäÖã¬Ê±ÖÓ16MHZ
PC_DDR = 0xFF;     //·½Ïò¼Ä´æÆ    
PC_CR1 = 0xFF;     //ÍÆÍìÊä³ö  

PE_DDR = 0xFF;     //·½Ïò¼Ä´æÆ         
PE_CR1 = 0xFF;     //ÍÆÍìÊä³ö 

PD_DDR = 0xFC;     //·½Ïò¼Ä´æÆ÷      
PD_CR1 = 0xFC;     //ÍÆÍìÊä³ö 
PB_DDR = 0xEF;     //·½Ïò¼Ä´æÆ÷0001£¬111 PC¿ÚûÓеÍ0λ   PD0 SPICE          
//PB_CR1 = 0xFF;     //ÍÆÍìÊä³ö 

我通过一个脚本运行了您提供的一些示例,该脚本基本上尝试了iconv所知道的每一个代码页,并寻找能提供最干净结果的东西。原来是CP936。

然后,我在一个包含您提供的内容的文件上使用了iconv -f CP936,得到了以下结果:

SCLK_INIT();//脧碌脥鲁脢卤脰脫脜盲脰脙拢卢脢卤脰脫16MHZ
PC_DDR = 0xFF;     //路陆脧貌录脛麓忙脝    
PC_CR1 = 0xFF;     //脥脝脥矛脢盲鲁枚  

PE_DDR = 0xFF;     //路陆脧貌录脛麓忙脝         
PE_CR1 = 0xFF;     //脥脝脥矛脢盲鲁枚 

PD_DDR = 0xFC;     //路陆脧貌录脛麓忙脝梅      
PD_CR1 = 0xFC;     //脥脝脥矛脢盲鲁枚 
PB_DDR = 0xEF;     //路陆脧貌录脛麓忙脝梅0001拢卢111 PC驴脷脙禄脫脨碌脥0脦禄   PD0 SPICE          
//PB_CR1 = 0xFF;     //脥脝脥矛脢盲鲁枚 

对我来说,当通过谷歌翻译时,这没有什么意义,但这对你来说可能更有意义,因为你知道代码的上下文。我希望这对你有帮助!

我相信有很多方法可以做到这一点,但这对我来说是有效的:

使用PlatformIO IDE,我可以打开文件并简单地将字符编码设置为"0";中文";。一旦我这样做了,汉字就会显示出来,我就可以开始逐行翻译了。我相信有一些实用程序,人们会想用于比我更大的项目。

我确信几乎任何现代IDE都支持字符编码,所以只需使用您最喜欢的一个即可。

我最初在Windows记事本中打开了该文件,但找不到设置字符编码的方法,因此我提出了问题。我确实发现了这个";字符固定器";,它可以让你一次恢复一行汉字,然后我可以将其粘贴到谷歌翻译中。这是一个麻烦的两步过程——设置文件编码要容易得多。

最新更新