当字符串编码不同时,计算校验和失败

时间:2015-03-13 17:29:47

标签: java encoding character-encoding checksum

我有一个用于校验和计算的例程,它对于带有重音字符的字符串失败,处理重音字符我使用字符串实际来自的编码将字符串转换为字节数组,例如:字符串将包含重音符号出现在François^Frédérique^中的字符和它使用的编码是'CP437',如果这样做后校验和计算失败,那么你能不能告诉我是否还有更多我需要做的事情。

        byte[] frameArray = frame.getBytes(m_fileEncoding);
        int frameLength = frameArray.length;
        int idx =0;
        while (idx < frameLength )
        {
            int c = frameArray[idx];

            sum1 += c;

            if (sum1 >= 256)
            {
                sum1 -= 256;
            }
            idx++;
        }

        sum1 = 256 - sum1;

        calculatedChecksum = Integer.toHexString(sum1 & 0xff).toUpperCase();

0 个答案:

没有答案