Java中char到底是多少字节? 貌似一个简单的问题(也许还真是简单的)但是却把曾经自认为弄清楚的我弄得莫名其妙 char在Java中应该是16位 byte在Java中应该是8个位 char x = '漆' //这样是合法的,输出也是16位 但是 String str = '漆'' byte[] bytes = str.getBytes() //我想不明白,为什么这里要占用3个byte呢? 3个byte一共是3*8=24个位,那么char x怎么又放得下?我坚信char是16个位,但是str.getBytes()这个东西到底又怎么回事?