Я хочу преобразовать шестнадцатеричное число из файла в int.
Строка выглядит следующим образом:
\0\0\x05\xa0
Это должно быть 1440. Если я стараюсь:
int i = '\x05'
я 5
.C convert hex values " xHH" to integer
Но если я делаю то же самое с \xa0
, я получаю -96
.
Любые идеи как правильно преобразовать строку?
Это настоящая текстовая строка или данные при просмотре в программе, которая может отображать двоичные данные? –
Кроме того, '-96' является знаковым значением' 0xa0'. –
На самом деле это PNG-заголовок. Я написал простую программу c, которая может считывать размер из PNG-изображения. –