@Test public void testUTF8RoundTrip() throws Exception { final String ru_msg = constructString(RUSSIAN_STUFF_UNICODE); final String ch_msg = constructString(SWISS_GERMAN_STUFF_UNICODE); final QCodec qcodec = new QCodec(CharEncoding.UTF_8); assertEquals( "=?UTF-8?Q?=D0=92=D1=81=D0=B5=D0=BC=5F=D0=BF=D1=80=D0=B8=D0=B2=D0=B5=D1=82?=", qcodec.encode(ru_msg) ); assertEquals("=?UTF-8?Q?Gr=C3=BCezi=5Fz=C3=A4m=C3=A4?=", qcodec.encode(ch_msg)); assertEquals(ru_msg, qcodec.decode(qcodec.encode(ru_msg))); assertEquals(ch_msg, qcodec.decode(qcodec.encode(ch_msg))); }