我正在使用redis进行setbit操作,以标记哪些用户在某一天上线。
我正在进行redis get操作以获取密钥的值。
coffee> redis.get "a",(err,res)->console.log res.toString().charCodeAt(0)
true
coffee> 1
coffee> redis.get "d",(err,res)->console.log res.toString().charCodeAt(0)
true
coffee> 8
coffee> redis.get "g",(err,res)->console.log res.toString().charCodeAt(0)
true
coffee> 64
coffee> redis.get "h",(err,res)->console.log res.toString().charCodeAt(0)
true
coffee> 65533
输出
{{1}}
我的问题在于" h"我设置第0位的关键1.它应返回128但返回65533.为什么会这样?
我的最终目标是从二进制文件中获取redis的位图,以便我可以获得在特定日期哪些用户处于活动状态。
答案 0 :(得分:0)
由于utf-8编码而发生此错误。当我们将第0位设置为1时,它不遵循utf-8规则。现在,当我们尝试获取它时,我们得到替换角色
U +FFFD�用于替换未知或替换的替换字符 不具代表性的人物
当我们对它进行charCodeAt时,我们将得到65533。