我試圖將單個字節轉換爲字符串,然後再轉回原始字節。然而,下面的斷言失敗了。任何建議將深表讚賞將單字節轉換爲字符串並返回字節
import org.junit.Test;
import java.io.UnsupportedEncodingException;
import static org.junit.Assert.assertEquals;
public class ByteTest {
private static final String CHARSET = "UTF-8";
@Test
public void test() throws UnsupportedEncodingException {
byte b = (byte)(220);
String s = new String(new byte[]{b}, CHARSET);
byte[] parsed = s.getBytes(CHARSET);
assertEquals(b, parsed[0]); //fails
}
}
'byte'真的不能存儲220 –
單'(字節)220'不是有效的UTF-8編碼的字符串! –
@SteveSmith不,但它可以存儲'-36',它是未簽名的'220'字節的等價符號。這是一回事,你只是以不同的方式解讀它。 – Kayaman