Bunun çok genel bir soru olduğunu biliyorum ama kızmaya başladım. Java'dan Windows 1252'den UTF8'ye dönüştürme: CharsetDecoder/Encoder ile boş karakterler
Bu kodu kullandı:String ucs2Content = new String(bufferToConvert, inputEncoding);
byte[] outputBuf = ucs2Content.getBytes(outputEncoding);
return outputBuf;
Ama bunu CharsetDecoder ve CharsetEncoder (muhtemelen hedef kodlama dışında bazı karakteriyle içeriğe sahip) kullanmak daha iyidir okuyun. Sadece bu kodu yazdım ama bu bazı sorunları var: null karakteri dizisi tampon
// Create the encoder and decoder for Win1252
Charset charsetInput = Charset.forName(inputEncoding);
CharsetDecoder decoder = charsetInput.newDecoder();
Charset charsetOutput = Charset.forName(outputEncoding);
CharsetEncoder encoder = charsetOutput.newEncoder();
// Convert the byte array from starting inputEncoding into UCS2
CharBuffer cbuf = decoder.decode(ByteBuffer.wrap(bufferToConvert));
// Convert the internal UCS2 representation into outputEncoding
ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(cbuf));
return bbuf.array();
Nitekim bu kod ekler !!!!!
Birisi bana sorunun nerede olduğunu söyleyebilir mi? Java'da kodlamayı dönüştürme konusunda çok yetenekli değilim.
Java'da kodlamayı dönüştürmenin daha iyi bir yolu var mı?
Teşekkürler, muhtemelen birkaç saat hayal kırıklığı kurtardınız – pepsi