javascript - 十六进制颜色代码的按位求补能否始终返回 6 个字符?

标签 javascript hex bit-manipulation xor bitwise-xor

在 Javascript 中,有没有办法使十六进制颜色的按位补码始终返回 6 个字符的字符串?

例如,('0xff0537' ^ '0xffffff').toString(16) 生成 4 个字符的字符串 'fac8'

但是,('0x00adeb' ^ '0xffffff').toString(16) 返回 6 个字符的字符串 'ff5214'

最佳答案

您可以通过添加前导 1 使其始终为 7 个字符,转换为字符串,最后删除第一个字符使其再次变为 6。这将保留前导零;

> (1<<24 | '0xff0537' ^ '0xffffff').toString(16).substring(1)
'00fac8'

关于javascript - 十六进制颜色代码的按位求补能否始终返回 6 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23983622/

相关文章:

python - 如何定义多行的长十六进制文字?

bit-manipulation - 如何在WinDbg中使用ba命令(Break on Access)?

c - 在一组数字中找到唯一的位

c# - 检查是否设置了某个位

javascript - 跨域iframe问题(设置父位置)

javascript - 添加参数到 ("click") 函数

javascript - 在 Javascript 中使用 reduce 将每个单词的首字母大写

c# - C# 中的十六进制数字和十进制数字

binary - 如何将十六进制值转换为 32 位 MIPS 指令?

javascript - AngularJS 将数据发布到 ASP.NET WebForms