GVKun编程网logo

使用python将十六进制数转储到YAML中(python将16进制数转换成字符串)

13

本文将为您提供关于使用python将十六进制数转储到YAML中的详细介绍,我们还将为您解释python将16进制数转换成字符串的相关知识,同时,我们还将为您提供关于bash–如何在shell中比较十六

本文将为您提供关于使用python将十六进制数转储到YAML中的详细介绍,我们还将为您解释python将16进制数转换成字符串的相关知识,同时,我们还将为您提供关于bash – 如何在shell中比较十六进制数和十六进制数?、C语言 将十六进制字符串转为十六进制数 (二进制、十进制都适用)、JavaScript 将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数、Java实现十进制数转十六进制数的实用信息。

本文目录一览:

使用python将十六进制数转储到YAML中(python将16进制数转换成字符串)

使用python将十六进制数转储到YAML中(python将16进制数转换成字符串)

现在,我将转储到YAML文档中。在大多数情况下,它都可以正常工作。当我尝试转储十六进制(例如“
0x2A”)时,它将转换为42。是否没有任何方法可以保持其十六进制格式?字符串不会令人悲伤。而int(0x2A,16)也给了我42分。

bash – 如何在shell中比较十六进制数和十六进制数?

bash – 如何在shell中比较十六进制数和十六进制数?

如何在 shell中比较十六进制数和十六进制数?
至少bash直接支持十六进制整数,只要它们以0x为前缀:
$[[ 0xdead -lt 0xcafe ]] && echo yes || echo no
no
$[[ 0xdead -gt 0xcafe ]] && echo yes || echo no
yes

你通常只使用比较运算符……

C语言 将十六进制字符串转为十六进制数 (二进制、十进制都适用)

C语言 将十六进制字符串转为十六进制数 (二进制、十进制都适用)

主要利用 long int strtol(const char *nptr,char **endptr,int base); 函数

函数说明: 

  参数base范围从2至36,或0。 参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如’0x’前置字符则会使用16进制做转换、遇到’0’前置字符而不是’0x’的时候会使用8进制做转换。 一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(''\0'')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回;若参数endptr为NULL,则会不返回非法字符串。这里主要是两个参数: nptr(要转换的字符串)、base(代表采用的进制方式
//例子 
    #include <stdio.h>
  #include <stdlib.h>
  void main()
  {
      char* p = "0x1b";
      char* str;
      long i = strtol(p, &str, 16);
      printf("%d\r\n", i);
  }

//输出值为 27

 

 

JavaScript 将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数

JavaScript 将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数

将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数

 1 <!DOCTYPE html>
 2 <html>
 3   <head>
 4     <meta charset="utf-8">
 5     <title>Dec to Hex</title>
 6   </head>
 7   <body onload="doIt()">
 8     <p id="demo1"></p>
 9     <p id="demo2"></p>
10     <p id="demo3"></p>
11     <p id="demo4"></p>
12   </body>
13   <script>
14     function doIt() {
15       document.getElementById("demo1").innerHTML = dec2Hex("0x", 255).toUpperCase();      // 0X0000FF
16       document.getElementById("demo2").innerHTML = "0x" + dec2Hex("", 255).toUpperCase(); // 0x0000FF
17       document.getElementById("demo3").innerHTML = dec2Hex("#", 255).toUpperCase();       // #0000FF
18       document.getElementById("demo4").innerHTML = dec2Hex("#", 256);                     // #000100
19     }
20     // 十进制数转 6 位十六进制数
21     function dec2Hex(prefix, value) {
22       var hexCode = value.toString(16);
23       var zeroes = "000000";
24       var length = zeroes.length - hexCode.length;
25       return prefix + zeroes.substr(0, length) + hexCode;
26     }
27   </script>
28 </html>

 


第 22 行:var hexCode = value.toString(16);

语法:NumberObject.toString(radix)

定义和用法:toString() 方法可把一个 Number 对象转换为一个字符串,并返回结果。

参考:JavaScript toString() 方法


第 25 行return prefix + zeroes.substr(0, length) + hexCode;

语法:stringObject.substr(start,length)

定义和用法:substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

参考:JavaScript substr() 方法


 

Java实现十进制数转十六进制数

Java实现十进制数转十六进制数

Now~Let''s begin our second question~

如何利用Java语言将十进制数字转换成十六进制数字呢?

我第一次编码出来的效果是酱紫的~

/**
 * 
 */
package com.succez.task2;

import java.util.Scanner;

/**
 * <p>Copyright: Copyright (c) 2018</p>
 * <p>succez</p>
 * @author ZhangJinjin
 * @createdate 2018年5月3日
 */
public class intToHex {

    /**
     * 先输入一个整型数字,判断其是否为0,若为0,则其16进制同样为0;
     * 若number不为0,则对16取余,并转换成16进制相应的字符;
     * number=number/16,重复过程2、3,用字符数组s依次保存每一位;
     * 输出的时候逆序输出即可
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int number = sc.nextInt();
        int i = 0;
        char[] S = new char[100];
        if(number == 0){
            System.out.print(0);
        }
        else{
            while(number!=0)  
            {
                int t=number%16;
                if(t >=0 && t<10)  
                {
                    S[i] = (char)(t+''0'');
                    i++;
                }
                else
                {
                    S[i] = (char)(t+''A''-10);
                    i++;
                }
                number=number/16;
            } 
            
            for (int j=i-1;j>=0;j--)
            {  
                System.out.print(S[j]);
            }
        }
    }
}

 

Of course It''s true~

As you can see from the picture~


然而,经过讨论,我们发现尽管这样可以实现它的功能,但是需要费脑子去思考,那么,可不可以很明显清晰地表达呢~

那么,经过一番修改,这样子应该可以了吧~

/**
 * 
 */
package com.succez.task2;

import java.util.Scanner;

/**
 * <p>Copyright: Copyright (c) 2018</p>
 * <p>succez</p>
 * @author ZhangJinjin
 * @createdate 2018年5月4日
 */
public class intToHex_Alter {

    /**
     * 这次算法用了StringBuffer效率更好
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("请输入要转换的十进制的数:");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();        
        System.out.println("转换的十六进制的数为:"+intToHex(n));
    }

    private static String intToHex(int n) {
        StringBuffer s = new StringBuffer();
        String a;
        char []b = {''0'',''1'',''2'',''3'',''4'',''5'',''6'',''7'',''8'',''9'',''A'',''B'',''C'',''D'',''E'',''F''};
        while(n != 0){
            s = s.append(b[n%16]);
            n = n/16;            
        }
        a = s.reverse().toString();
        return a;
    }

}

嘻嘻~已经提交啦,OK~

下面来看看 StringBuffer

 

String类型的相加效率并不高,所以这个时候就要考虑StringBuffer里面的append()这个方法~

OK,简直完美~

/**
 * 
 */
package com.succez.task2;

import java.util.Scanner;

/**
 * <p>Copyright: Copyright (c) 2018</p>
 * <p>succez</p>
 * @author ZhangJinjin
 * @createdate 2018年5月4日
 */
public class intToHex_Alter {

    /**
     * 这次算法用了StringBuffer效率更好
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("请输入要转换的十进制的数:");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();        
        System.out.println("转换的十六进制的数为:"+intToHex(n));
    }

    private static String intToHex(int n) {
        //StringBuffer s = new StringBuffer();
        StringBuilder sb = new StringBuilder(8);
        String a;
        char []b = {''0'',''1'',''2'',''3'',''4'',''5'',''6'',''7'',''8'',''9'',''A'',''B'',''C'',''D'',''E'',''F''};
        while(n != 0){
            sb = sb.append(b[n%16]);
            n = n/16;            
        }
        a = sb.reverse().toString();
        return a;
    }

}

 


 

关于使用python将十六进制数转储到YAML中python将16进制数转换成字符串的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于bash – 如何在shell中比较十六进制数和十六进制数?、C语言 将十六进制字符串转为十六进制数 (二进制、十进制都适用)、JavaScript 将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数、Java实现十进制数转十六进制数等相关内容,可以在本站寻找。

本文标签: