所以,我需要你的帮助。我找不到关于那个话题的任何东西。Golang是一种新鲜出炉的语言,因此对于像我这样的新手来说很难快速找到答案。
预先定义的Go
int
类型大小是特定于实现的,是32位还是64位(数字类型)。
这是将big-endian int
s 转换为byte
s(uint8
s)的示例。
package main
import (
"encoding/binary"
"fmt"
"reflect"
)
func IntsToBytesBE(i []int) []byte {
intSize := int(reflect.TypeOf(i).Elem().Size())
b := make([]byte, intSize*len(i))
for n, s := range i {
switch intSize {
case 64 / 8:
binary.BigEndian.PutUint64(b[intSize*n:], uint64(s))
case 32 / 8:
binary.BigEndian.PutUint32(b[intSize*n:], uint32(s))
default:
panic("unreachable")
}
}
return b
}
func main() {
i := []int{0, 1, 2, 3}
fmt.Println("int size:", int(reflect.TypeOf(i[0]).Size()), "bytes")
fmt.Println("ints:", i)
fmt.Println("bytes:", IntsToBytesBE(i))
}
输出:
int size: 4 bytes
ints: [0 1 2 3]
bytes: [0 0 0 0 0 0 0 1 0 0 0 2 0 0 0 3]
要么
int size: 8 bytes
ints: [0 1 2 3]
bytes: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3]
问题内容: 我正在获取ASCII值,并且想将其转换为整数,因为我知道它是整数ASCII值。 这是5的ASCII值。我如何将其转换为整数? 问题答案:
问题内容: 我有一个表示RGB图像的整数数组,想将其转换为字节数组并将其保存到文件中。 在Java中将整数数组转换为字节数组的最佳方法是什么? 问题答案: 正如Brian所说,您需要确定需要什么样的转换。 您是否要将其保存为“正常”图像文件(jpg,png等)? 如果是这样,您可能应该使用Java Image I / O API。 如果要以“原始”格式保存,则必须指定写入字节的顺序,然后使用和NI
问题内容: 如何在Java中将对象转换为int? 问题答案: 如果您确定该对象是: 或者,从Java 7开始,您可以等效地编写: 当心,它可以抛出一个,如果你的对象是不是和你要的对象是。 这样,您就假定对象是一个整数(包装的int),然后将其拆箱为一个int。 是基元,因此不能将其存储为,唯一的方法是将考虑/装箱为,然后存储为。 如果您的对象是,则可以使用方法将其转换为简单的int: 如果您的对象
我在/raw文件夹中有一个名为“max_easy.txt”的txt文件,在这个文件中写了一个数字,在本例中为“0”...我想要一个以0作为Int值的var,我怎么做? 我猜这行给了我一个字符串值,我怎么转换它?
问题内容: 我是Java的新手,想知道double转换为int cast如何工作吗?我知道,只需将低32位转换为int就很容易了,但是将double(64位)转换为int(32位)呢?来自二进制的double中的那64位是Double- precision浮点格式(Mantissa),那么它如何在内部转换为int? 问题答案: 所有这些都记录在JLS的5.1.3节中。 第一步,将浮点数转换为lon
问题内容: 我有一个返回int类型的函数。但是,我只有TAX枚举的值。 如何将TAX枚举值转换为整数? 问题答案: 您需要以某种方式使枚举公开,例如 (顺便说一句,我将名称更改为更常规和易读。) 这是 假设 您要在构造函数中分配值。如果这不是您想要的,则需要向我们提供更多信息。