number 是指字节数,而 value 是一个字符串还是单一字节?
如果程序本身仅需要 byte 类型的数据,那直接 StringValue.getBytes("ISO-8859-1")[0] 就是了,因为单一字节不可能出现像汉字那种多字节数据。
如果是 value 是一组数据 (byte[]) 那就把整个 StringValue.getBytes[] 传递给它,当然,这时的字符集可能是默认的 GB18030。
Java Byte的取值范围是-128(二进制1000 0000)到+127(二进制0111 1111),最高位是符号位(参见“补码”),所以你的值大于127就会抛异常。
如果你的描述没错,那么接口要求从一个Byte传入4个字节(字节就是Byte)的内容,显然是接口文档自相矛盾(仔细看看,确定文档不是Byte[]或者Byte...)。