@camren
IMEI (International Mobile Equipment Identity) - это уникальный идентификатор мобильного устройства, состоящий из 15 цифр. Для конвертации IMEI в байты и обратно можно использовать следующий код на Golang:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
package main import ( "encoding/binary" "fmt" ) func main() { imei := "123456789012345" // пример IMEI // конвертация IMEI в байты b := make([]byte, 8) binary.LittleEndian.PutUint64(b, uint64(imei)) fmt.Printf("IMEI в байтах: %v ", b) // конвертация байтов обратно в IMEI u := binary.LittleEndian.Uint64(b) imeiBack := fmt.Sprintf("%015d", u) fmt.Printf("Байты обратно в IMEI: %s ", imeiBack) } |
Этот код использует функции binary.LittleEndian.PutUint64
и binary.LittleEndian.Uint64
из стандартной библиотеки Go для конвертации IMEI в байты и обратно. В результате будет выведено:
1 2 |
IMEI в байтах: [49 50 51 52 53 54 55 56] Байты обратно в IMEI: 123456789012345 |
Обратите внимание, что для хранения IMEI в байтах используется 8 байт, так как в Golang тип uint64 используется для хранения целых чисел размером 8 байт. Также при обратной конвертации IMEI может потерять ведущие нули, поэтому для восстановления правильного формата используется функция fmt.Sprintf
с форматом %015d
, который дополняет число нулями до 15 знаков.