Unicode字符转换为Java字符串或整数

Unicode字符转换为Java字符串或整数,java,Java,如何转换此字符“��?'" 转换为Java字符串或整数。预期值应为28541 我们已经尝试了下面的代码,但给出了错误的值。转换后的值是16663 public static Short unmarshallSignedCompFields(String compInput, int length) throws UnsupportedEncodingException { int packedSize = (length < 5) ? 2 : (length < 10) ?

如何转换此字符“��?'" 转换为Java字符串或整数。预期值应为28541

我们已经尝试了下面的代码,但给出了错误的值。转换后的值是16663

public static Short unmarshallSignedCompFields(String compInput, int length) throws UnsupportedEncodingException {

    int packedSize = (length < 5) ? 2 : (length < 10) ? 4 : 8;

    byte[] recordByte = compInput.getBytes("Cp037");

    return MarshallExternalDecimalUtils.unmarshallShortFromBuffer(recordByte, 0, 

        packedSize, false, -1,

        MarshallExternalDecimalUtils.EXTERNAL_DECIMAL_SIGN_EBCDIC);

}
public static Short unmarshallSignedCompFields(字符串compInput,int-length)引发不支持的编码异常{
int packedSize=(长度<5)?2:(长度<10)?4:8;
byte[]recordByte=compInput.getBytes(“Cp037”);
返回MarshallExternalDecimalUtils.unmarshallShortFromBuffer(recordByte,0,
packedSize,false,-1,
MarshallExternalDecimalUtils.外部(十进制)符号(EBCDIC);
}

“如何转换此字符”��?'" - 这已经是一个字符串了。我想知道你的帖子是否包含了实际字符,或者实际上包含了你显示的两个菱形问号和一个问号。顺便说一句,你显示的代码不是你的代码。它取自。除了缺少重要信息外(事实上你正在尝试从COBOL转换数据),您还必须始终将作品归于原作者,并提供链接或参考(如果作品不在线)。否则,根据StackOverflow的规则,它被视为剽窃。您好,代码取自此,我们在将BigDecimal转换为压缩数据和整数转换为二进制(COMP)时使用相同的方法在发送到COBOL之前。这些字符“��?'“是从Data Studio中获取的,从表中提取后将作为JAVA的输入。在Cobol中显示为“…Ý”,但在Data Studio中,当JAVA提取数据时,它将成为不同的符号。我们想知道是否可能转换这些符号。”��?' 变成可读字符