pc和手机端发现数值不一样,求解

function ByteArray:readChar()
    local __, __val = string.unpack( self:readRawByte(), "c")
    return __val
end

服务发过来一个数据,大于1或小于1时在PC测试时正常,但我移到手机测试时,为何-1变成了255?