16进制转字符串

了解Unicode编码

我的梦境 提交于 2019-12-06 13:04:11
一. Unicode是什么? Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码。以实现跨语言、跨平台进行文本转换。 Unicode是为了解决传统字符编码方案的局限而产生的。 Unicode编码的发展及详细介绍可以看这篇文章( https://www.php.cn/js-tutorial-414753.html )。 Unicode字符编码是用一个码位映射一个字符,码位值的范围是从 U+0000 到 U+10FFFF。 码位:一般是被格式化为十六进制数字的,零填充至少四位数,格式为 U + 前缀。 比如 A的码位:U+0041, a的码位:U+0061; 因为A的ASCII十进制为 65; a的ASCII的十进制为97; 我们可以在chrome浏览器下测试下即可: 'A'.charCodeAt(); // 打印65 因此 字符 A 十进制为65,转换成十六进制就是41了,十六进制转十进制的方法为 65 = 4 * 16 + 1; 因此变成Unicode码位的话: U+0041了。 Unicode最前面的65536个字符位,称为零号平面,它的码位范围是从 U+0000 到 U+FFFF; 我们最常见的字符都在这里面了。 Unicode转义 1. 16进制转义 "A" 转义为:'\x41'; "a" 转义为: '\x61'; 2. Unicode转义

Java byte和hex十六进制字符串转换

∥☆過路亽.° 提交于 2019-12-04 19:11:04
在Java中字符串由字符char组成, 一个char由两个byte组成, 而一个byte由八个bit组成, 一个十六进制字符(0-F)实际上由4个字节byte即可表达, 因此, 从字节数组到十六进制字符串, 实际上占用的存储空间扩大了4倍。 下面来看一下从十六进制字符串转换为字节数组的方式: 第一种方法: 实际借用了Character类的方法进行16进制的转换 1 static byte[] hexToByteArray2(String hex) 2 { 3 int l = hex.length(); 4 byte[] data = new byte[l / 2]; 5 for (int i = 0; i < l; i += 2) 6 { 7 data[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4) 8 + Character.digit(hex.charAt(i + 1), 16)); 9 } 10 return data; 11 } 第二种方法: 借用了Integer类中的十六进制转换: 1 static byte[] hexToByteArray(String hexString) { 2 byte[] result = new byte[hexString.length() / 2]; 3 for

python数据类型操作(数字、字符串、列表、元组、字典、集合)

孤者浪人 提交于 2019-12-04 10:27:53
print(bin(16)) #十进制转二进制 0b10000print(hex(15)) # 十进制转十六进制 0xf#字符串操作print('年龄:%d,姓名:%s'%(18,'朱')) #%d,%s的使用print(type('asf')) #<class 'str'>name = ' * abcd***efg ad 'print(name.strip('* ')) #该函数的作用是去除字符串开头和结尾处指定的字符,不会去除字符串中间对应的字符; #若不传入字符,则默认去除字符串开头和结尾的空格或换行字符;若传入字符,则会依据传入的字符来进行去除操作;print(name.split('*',1)) # 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串str = 'abcdabcd'print(str.find('a',1,len(str))) #查找的字符,开始,结束 返回第一个查到的索引值print(':'.join(str)) #a:b:c:d:a:b:c:d#列表操作dict = { 'age':20,'name':'su'}print(dict.keys())print(dict.values())print(dict.items())print(dict['age'])for k in dict: print(k,dict

第二次博客园作业

那年仲夏 提交于 2019-12-04 04:54:04
第二次博客园作业 一、代码运行截图 说明: 除非用户主动选择退出 ,否则可一直进行进制转换。 而当再次输入数字时,界面会清屏。 二、额外拓展 当程序输入的进制与该数不符会报错 输入的目标进制非二、八、十、十六会报错 完成一次进制转换后能自主选择是否结束 三、代码里的函数介绍 ​ (除十六进制外)任意进制转十进制函数: int wantonly_to_decimalism(int num, int p) //num表示需转换的原数,p表示该数的原进制数 { int result = 0; int product = 1; //product用来存储原进制数的幂 while (num != 0) { //按权展开求数的十进制 result = result + num % 10 * product; num /= 10; product *= p; } return result; } 说明:此函数只适用于二、八、十进制转十进制。思路在代码里面。 ​ 十进制数转二进制函数: int decimalism_to_binary(int num) /*十进制转二进制*/ { int op[100]; //定义一个足够大的数组来存储需转换数除二的余数 int result = 0; int i; int count = 0; //count用来存放每个余数的序号,方便后面按想要的顺序取余数

基本数据类型及内置方法

依然范特西╮ 提交于 2019-12-03 20:50:49
整型+浮点型 进制之间的转换 其他进制转十进制 int('1100',2) # 第二个参数是第一个参数的进制 int('123', 8) # 第二个参数是第一个参数的进制 int('e',16) # 第二个参数是第一个参数的进制 十进制转其他进制 bin() # 十进制转二进制 oct() # 十进制转八进制 hex() # 十进制转16进制 ps:转换后的结果前所带的标识, 单纯就是告诉你他当前是几进制的数 1、存一个值 2、...... 3、不可变类型 """ 可变类型:在值改变的情况下,id不变 不可变类型:在值改变的情况下,id也改变了 """ id相同的时候,值是一定相同的 id不相同的时候,值可能相同 浮点数: 数学运算 float可以识别小数点 字符串: 1、优先掌握的方法: 1、索引取值(正向、反向取)只能取不能改 2、索引切片 3、成员运算in,not in 4、len() 获取当前字符串字符个数 5、for循环 内置方法: 1、strip:默认去除字符串首尾的空格, 还可以传入参数指定去除的字符 2、split:切分:将字符串按照指定的字符进行切分, 切分完返回的一定是一个列表 3、lower\upper: 修改·字符串的大小写 应用场景:验证码 4、startswith\endswith :判断当前字符串是否以某某字符开头, 或者以某某字符结尾

C语言版的16进制与字符串互转函数

匿名 (未验证) 提交于 2019-12-02 22:56:40
原文地址为: C语言版的16进制与字符串互转函数 /* // C prototype : void StrToHex(BYTE *pbDest, BYTE *pbSrc, int nLen) // parameter(s): [OUT] pbDest - 输出缓冲区 // [IN] pbSrc - 字符串 // [IN] nLen - 16进制数的字节数(字符串的长度/2) // return value: // remarks : 将字符串转化为16进制数 */ void StrToHex(BYTE *pbDest, BYTE *pbSrc, int nLen) { char h1,h2; BYTE s1,s2; int i; for (i=0; i<nLen; i++) { h1 = pbSrc[2*i]; h2 = pbSrc[2*i+1]; s1 = toupper(h1) - 0x30; if (s1 > 9) s1 -= 7; s2 = toupper(h2) - 0x30; if (s2 > 9) s2 -= 7; pbDest[i] = s1*16 + s2; } } /* // C prototype : void HexToStr(BYTE *pbDest, BYTE *pbSrc, int nLen) // parameter(s): [OUT] pbDest

jquery字符串转数字

▼魔方 西西 提交于 2019-11-30 00:53:57
1:parseInt(string) : 这个函数的功能是从string的开头开始解析,返回一个整数,说起来比较笼统,下面来看几个实例,大家就明白了: parseInt("1234blue"); //returns 1234 parseInt("123"); //returns 123 parseInt("22.5"); //returns 22 parseInt("blue"); //returns NaN //另外parseInt()方法还有基模式,就是可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下: parseInt("AF", 16); //returns 175 parseInt("10", 2); //returns 2 parseInt("10", 8); //returns 8 parseInt("10", 10); //returns 10 如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如: parseInt("010"); //returns 8 parseInt("010", 8); //returns 8 parseInt("010", 10); //returns 10 2:parseFloat():这个函数与parseInt()方法的处理方式相似

String与十六进制数互转

泄露秘密 提交于 2019-11-29 12:19:54
废话不多说,请看: /** * 字符串转换成十六进制字符串 * @param String str 待转换的ASCII字符串 * @return String 每个Byte之间空格分隔,如: [61 6C 6B] */ public static String str2HexStr(String str) { char[] chars = "0123456789ABCDEF".toCharArray(); StringBuilder sb = new StringBuilder(""); byte[] bs = str.getBytes(); int bit; for (int i = 0; i < bs.length; i++) { bit = (bs[i] & 0x0f0) >> 4; sb.append(chars[bit]); bit = bs[i] & 0x0f; sb.append(chars[bit]); sb.append(' '); } return sb.toString().trim(); } /** * 十六进制转换字符串 * @param String str Byte字符串(Byte之间无分隔符 如:[616C6B]) * @return String 对应的字符串 */ public static String hexStr2Str(String

string与十六进制byte互转

倾然丶 夕夏残阳落幕 提交于 2019-11-29 12:19:34
废话不多说,请看: /** * 字符串转换成十六进制字符串 * @param String str 待转换的ASCII字符串 * @return String 每个Byte之间空格分隔,如: [61 6C 6B] */ public static String str2HexStr(String str) { char[] chars = "0123456789ABCDEF".toCharArray(); StringBuilder sb = new StringBuilder(""); byte[] bs = str.getBytes(); int bit; for (int i = 0; i < bs.length; i++) { bit = (bs[i] & 0x0f0) >> 4; sb.append(chars[bit]); bit = bs[i] & 0x0f; sb.append(chars[bit]); sb.append(' '); } return sb.toString().trim(); } /** * 十六进制转换字符串 * @param String str Byte字符串(Byte之间无分隔符 如:[616C6B]) * @return String 对应的字符串 */ public static String hexStr2Str(String