के साथ शून्य अक्षर मुझे पता है कि यह एक बहुत ही सामान्य सवाल है लेकिन मैं पागल हो रहा हूं।जावा में 1212 से यूटीएफ 8 में कनवर्ट करना: वर्णसेट डिकोडर/एनकोडर
मैं इस कोड का इस्तेमाल किया:
String ucs2Content = new String(bufferToConvert, inputEncoding);
byte[] outputBuf = ucs2Content.getBytes(outputEncoding);
return outputBuf;
लेकिन मैंने पढ़ा है कि उपयोग करने के लिए CharsetDecoder और CharsetEncoder (मैं शायद गंतव्य एन्कोडिंग के बाहर कुछ चरित्र के साथ सामग्री है) बेहतर है। मैं तो बस इस कोड को लिखा है लेकिन यह है कि कुछ समस्याएं हैं:
// 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();
दरअसल इस कोड संलग्न कर देता है के लिए बफ़र अशक्त चरित्र का एक अनुक्रम !!!!!
क्या कोई मुझे बता सकता है कि समस्या कहां है? मैं जावा में एन्कोडिंग रूपांतरण के साथ इतना कुशल नहीं हूँ।
जावा में एन्कोडिंग को परिवर्तित करने का कोई बेहतर तरीका है?
धन्यवाद, शायद आपने मुझे निराशा के कई घंटे बचाए – pepsi