将具有负值的ByteArray转换为字符串

时间:2018-05-08 07:42:53

标签: java arrays string encoding

我从文件中读取一个字节数组,然后得到负值。该文件的格式如下:

{ܸ¨~»I“•›"Ïï5≥¸ÁqŸJ(#R8é!ÈéÎ∏ù;”ˆå"gçø è˝:kfŸåÿ|=–x≤‚˛åë2Õqπ˜À\2€”| . 
¡∂"t4ïÊ'‹ö‰ÃÊÒ-˛™f⁄N‰;dçbÇ™u∞∫ߥ洮u(o•ˆ>≥+     ‰Û7aÄx”ßπfi  R∂éI˝"Œ
áä √ép´m™ù”[—w&∫&YN¸∑,˚ä?ØçâjSı¢◊·T~7Œá«ôn–È^ˆ∆ú^   
„nôãwuflbŒHv≈œJ®(flaNÚ?™º°3Å&mz†fiÛ∞Ï|òÅ÷ÚÔJX‘`oü0ÒYòg~¡}àî!MI
UF‹—*KM$Õˇ_¡’î¡7Œ…l„C†…Z∂AŒ!0ï≠g'ÿú[¸$Û~hìÎ*¥◊i àÒ˜¸nq#∞o㢫K ÛëÓ^:y    
Âœ9Üå¬ÁH√ªm˛MOo/[TflÜ˙<¿¿óǵ~|∂⁄ôúRñd1˜RÚTπ<Mâ,ùR-ÙZï˘*ØjR9‚˚Úè@ƒDd˜
ÂëH∫n”®*úGdÄí§]Ò:¿F∫∆d3ı÷ }äÇflN•ºÜÔHODÊÔÛ'ãH´É¬»Ñc1•}w+dv0´¸ñgŸkæ-Ídp– 
A/5˜ƒÅ©8»GWJ≠Qé

我用这段代码读取了字节数组:

byte[] bytesArray = new byte[(int) file.length()];
FileInputStream fis = new FileInputStream(file);                                                        
fis.read(bytesArray); //read file into bytes[]

当我尝试使用以下方法将其转换为字符串时:

ret = new String(bytesArray, "UTF-8");

我得到一个带有奇怪符号(�)的字符串,其中数组中有负字节。我该怎么解决这个问题?感谢。

0 个答案:

没有答案