标签: hex

0
推荐指数
1
解决办法
8377
查看次数

获取十六进制字符串的一部分

我有这个代码:
Hexline - 十六进制字符串(080a00000135627c43784...等)

Date = Hexline[:16]
Prio = Hexline[16:2]
Date = "0x"+Date
DecDate = long(Date, 16)
print 'date = %s' % DecDate
print 'prio = %s' % int(Prio, 16)
Run Code Online (Sandbox Code Playgroud)
  1. 我得到前 16 个符号并将其转换为 BigInt
  2. 我需要从“Hexline”获取“Date”之后的下两个符号并将其转换为十进制。

但是在第 2 步中,我得到了“int() 的无效文字,基数为 16 ''”错误。(Prio = '')
怎么了?

python hex

0
推荐指数
1
解决办法
553
查看次数

在 C# 中转换 int->hex->binary 时出现错误“十六进制字符串的位数为奇数”

目的 :

首先将整数值转换为 hexstring,然后转换为 byte[]。

例子 :

   Need to convert  int:1024 to hexstring:400 to byte[]: 00000100 00000000
Run Code Online (Sandbox Code Playgroud)

方法:

为了从整数转换为十六进制字符串,我尝试了下面的代码

    int i=1024;
    string hexString = i.ToString("X");
Run Code Online (Sandbox Code Playgroud)

我得到的十六进制字符串值为“400”。然后我尝试使用下面的代码将十六进制字符串转换为字节 []

    byte[] value = HexStringToByteArray(hexValue);

    /* function for converting hexstring to  byte array */
    public  byte[] HexStringToByteArray(string hex)
    {

        int NumberChars = hex.Length;

        if(NumberChars %2==1)
          throw new Exception("Hex string cannot have an odd number of digits.");

        byte[] bytes = new byte[NumberChars / 2];
        for (int i = 0; i < NumberChars; i += 2) …
Run Code Online (Sandbox Code Playgroud)

c# hex integer bytearray

0
推荐指数
1
解决办法
1万
查看次数

Python:将元组十六进制字符串转换为整数

我需要将一些小端十六进制格式的元组转换为整数格式,我该怎么做?

例:

myTuple = ['0xD4', '0x51', '0x1', '0x0']
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为integer(86484).

python hex type-conversion

0
推荐指数
1
解决办法
606
查看次数

将字符串变量分配给unsigned char变量

假设我有一个表示十六进制值的字符串s:

string s="0x80";
Run Code Online (Sandbox Code Playgroud)

我想将s的值赋给v,其中v定义为:

unsigned char v;
Run Code Online (Sandbox Code Playgroud)

这样做最简单的方法是什么?


我为什么需要它?因为在这里,布隆过滤器被表示为unsigned char的向量,其中每个char代表8位.我想访问每个char,对其执行一些计算,然后以兼容的形式将其存储回来.此外,当我打印向量的每个元素(其类型为unsigned char)时,它以十六进制形式出现,例如3a,98等.

c++ arrays hex

0
推荐指数
1
解决办法
205
查看次数

如何反编译这个Lua字节码?

所以我有一些Lua字节码,现在我想把它重新编译成人类可读的代码:

\27\76\117\97\81\0\1\4\8\4\8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\2\4\0\0\0\5\0\0\0\65\64\0\0\28\64\0\1\30\0\128\0\2\0\0\0\4\6\0\0\0\0\0\0\0\112\114\105\110\116\0\4\9\0\0\0\0\0\0\0\72\105\32\116\104\101\114\101\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点?我尝试过使用LuaDec,但是我收到以下错误:

预编译块中的错误标头

如果有人能帮助我那将是非常好的.

lua hex decompiling bytecode

0
推荐指数
1
解决办法
1469
查看次数

Delphi - 从字符串中删除特定的十六进制值

德尔福东京 - 我有一个文本文件...(特别是CSV文件).我正在使用TextFile操作逐行读取文件...文件的前三个字节有一些我不感兴趣的标题数据.虽然我认为这将是所有文件中的情况,我想验证在我删除它之前.简而言之,我想读取该行,将前三个字节与三个十六进制值进行比较,如果匹配,则删除3个字节.

当我在十六进制编辑器中查看文件时,我明白了

EF BB BF ...
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,我的比较都不起作用.这是一个代码片段.

var
LeadingBadBytes: String;
begin

 // Open file, and read first line into variable TriggerHeader
 ...
 LeadingBadBytes := '$EFBBBF';
 if AnsiPos(LeadingBadBytes, TriggerHeader) = 1 then    
   delete(TriggerHeader, 1, 3);
Run Code Online (Sandbox Code Playgroud)

DELETE命令本身工作正常,但我无法使AnsiPos工作.我应该做些什么呢?

delphi hex

0
推荐指数
1
解决办法
172
查看次数

用Java打印前1000个Unicode字符

我需要在Java中打印前1000个unicode字符,问题是我不知道如何将文本和Unicode的六进制代码组合在一起.

示例:我想打印空白区,所以在println命令我插入"\ u00"并在while循环中我需要添加其他2 00,但我不能像文本一样插入它们!( "00").

我告诉你我尝试过的东西......我在互联网上找到了这个代码并且我修改了它,并且是一个小小的车,所以如果你能解决它我也会很棒啊哈哈!

public static void main(String[] args) {
    char t[]="0123456789abcdef".toCharArray();
    int i = 0;

    while(i<1000) {
            System.out.println("Char: " + t[i/16] + t[i%16] + " ==> " + "\u00" + t[i/16] + t[i++%16]);
    }
}
Run Code Online (Sandbox Code Playgroud)

PS:有时随机,编译器给我这个错误:

at unicodetest.UnicodeTest.main(Char: 83 ==> 83
UnicodeTest.java:10)
Run Code Online (Sandbox Code Playgroud)

第10行是:

System.out.println("Char: " + t[i/16] + t[i%16] + " ==> " + t[i/16] + t[i++%16]);
Run Code Online (Sandbox Code Playgroud)

编辑:它应该看起来像这样:

Char: 20 ==> ' '
Char: 21 ==> '!'
Char: 22 ==> '"'
Char: 23 ==> '#' …
Run Code Online (Sandbox Code Playgroud)

java unicode hex

0
推荐指数
1
解决办法
508
查看次数

如何在C中将uint8_t值数组转换为十六进制转储字符串

我想将字节数组的uint8_t十六进制值转换为char数组字符串(**相同的值不是ASCII),然后简单打印此字符串数组,如下所示:

输入:

uint8_t myarr[4]={0x11,0x12,0x33,0x1A}
Run Code Online (Sandbox Code Playgroud)

输出:

 1112331A
Run Code Online (Sandbox Code Playgroud)

简单char数组字符串不是十六进制数组字符串.

c arrays string hex

0
推荐指数
1
解决办法
299
查看次数

如何区分零和负零?

我正在实现该printf()功能。几乎所有东西都可以正常工作,但是当称为时,我遇到了一个问题ft_printf("%f", -0.0)。我的程序输出0.0而不是-0.0。我不能使用任何库。

我检查负性的条件就是“ x <0”,这不包括我的问题。我发现了区分零和负零的有希望的解决方案。

这似乎可以解决我的问题:

double a = -0.0;
printf("%d\n", (*((long *)&a) == 0x8000000000000000));
Run Code Online (Sandbox Code Playgroud)

我希望打印该程序,1但是在我的程序中,当它在输出的代码中执行时0。我有一个问题理解的部分是如何*((long *)&a)做到的:使一个数字可与十六进制对应的数字相提并论。

c floating-point binary hex

0
推荐指数
1
解决办法
104
查看次数