有接入过 OAuth 的人应该都发现了, Google ID、Discord ID、Telegram ID 都是大整数,而且都和注册顺序没有直接关系(TGID 和注册顺序有一定关系,但不绝对)这些数据比大小没有意义,为什么不用字符串来存储?

查看 163|回复 18
drymonfidelia
OP
  
@QAZXCDSWE 什么意思?
drymonfidelia
OP
  
@NessajCN 像 C++这种语言,这么大的数转字符串都不方便
635925926   
什么是大整数,手机号是大整数吗?
qping   
第三方的 ID 即使是个数字也要当字符串处理吧,万一那天它在数字后面加个字母呢
drymonfidelia
OP
  
@qping 但是他们返回的 JSON 里都是用 int 表示,而不是字符串
@635925926 超过 Int32 最大值的数
像 discordId 就是 18 位的
Fikar   
可以看看 instagram 的这篇文章
https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c
InkStone   
@drymonfidelia 不方便在哪里?不管多少位的大整数,转字符串也就一两行代码的函数的事情啊。又不是让你去做大整数运算。
NessajCN   
@drymonfidelia 我懂了,你主要是来 diss C++ 而不是来 diss 大整数的....
june4   
@drymonfidelia 难道 c++没有原生 64 位整数?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部