protected String readEncodingAndString(int max) throws IOException {
        byte encoding = readByte();
        return readEncodedString(encoding, max - 1);
    }
@Test
    public void testReadUtf16NullPrefix() throws IOException {
        byte[] data = {
            ID3Reader.ENCODING_UTF16_WITH_BOM,
            (byte) 0xff, (byte) 0xfe, // BOM
            0x00, 0x01, // Latin Capital Letter A with macron (Ā)
            0, 0, // Null-terminated
        };
        CountingInputStream inputStream = new CountingInputStream(new ByteArrayInputStream(data));
        String string = new ID3Reader(inputStream).readEncodingAndString(1000);
        assertEquals("Ā", string);
    }