在一个整数中保留十六进制而不将它转换为十进制

在一个整数中保留十六进制而不将它转换为十进制

问题描述:

我有一个十六进制值的emojis数组,如下所示: int[] emojis = {0x1F37D, 0x2615...};我需要将其中的一个放在json字符串中。像{"number":0x1F37D}...在一个整数中保留十六进制而不将它转换为十进制

我有一个对象来存储的值,但问题是,它不断地将十六进制值更改为十进制,当我在整数中分配十六进制值 object.emoji = emojis[position]。然后它继续用十进制值而不是我想要的十六进制值构建json。我不能做Integer.toHexString()因为我需要十六进制值作为数字而不是字符串。

换句话说:我想要这个{"number":0x1F37D}...,我得到这个{"number":3434}...

+0

内部形式的数字不是十进制,十六进制,八进制,二进制或其他。猫认为是'基地13'或你想要什么。基地它只是外部,人类可打印的形式 –

+0

那么我如何存储十六进制数作为十六进制而不是十进制? – ben

+0

你不能在INT – Rab

因为十六进制文字不是有效的JSON,所以你不能用Gson或大多数其他JSON库来做到这一点。