进制

Java中16进制与字符串之间的相互转换

不羁的心 提交于 2019-12-17 06:44:07
笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进行解决:    1)在将字符串转为16进制之前先进行一次转化,先将其转化成为Unicode编码(相当于把中文用英文字符代替),在转化成为16进制   2)相反的,在十六进制转换为字符串后的得到的是Unicode编码,此时再将Unicode编码解码即可获取原始字符串 代码如下:   *字符串转化为Unicode编码: /** * 字符串转换unicode */ public static String string2Unicode(String string) {   StringBuffer unicode = new StringBuffer();   for (int i = 0; i < string.length(); i++) {     // 取出每一个字符 char c = string.charAt(i); // 转换为unicode unicode.append("\\u" + Integer.toHexString(c));   }   return unicode.toString(); }   *字符串转为16进制 /** * 字符串转化成为16进制字符串 *

常用基本的格式化字符串参数介绍

你。 提交于 2019-12-15 19:47:40
常用基本的格式化字符串参数介绍: %c:输出字符,配上%n可用于向指定地址写数据。 %d:输出十进制整数,配上%n可用于向指定地址写数据。 %x:输出16进制数据,如%i x 表 示 要 泄 漏 偏 移 i 处 4 字 节 长 的 16 进 制 数 据 , x表示要泄漏偏移i处4字节长的16进制数据,%i x 表 示 要 泄 漏 偏 移 i 处 4 字 节 长 的 1 6 进 制 数 据 , lx表示要泄漏偏移i处8字节长的16进制数据,32bit和64bit环境下一样。 %p:输出16进制数据,与%x基本一样,只是附加了前缀0x,在32bit下输出4字节,在64bit下输出8字节,可通过输出字节的长度来判断目标环境是32bit还是64bit。 %s:输出的内容是字符串,即将偏移处指针指向的字符串输出,如%i$s表示输出偏移i处地址所指向的字符串,在32bit和64bit环境下一样,可用于读取GOT表等信息。 %n:将%n之前printf已经打印的字符个数赋值给偏移处指针所指向的地址位置,如%100×10 n 表 示 将 0 x 64 写 入 偏 移 10 处 保 存 的 指 针 所 指 向 的 地 址 ( 4 字 节 ) , 而 n表示将0x64写入偏移10处保存的指针所指向的地址(4字节),而% n 表 示 将 0 x 6 4 写 入 偏 移 1 0 处 保 存 的 指 针 所

白帽子社区 -----进制

这一生的挚爱 提交于 2019-12-15 13:33:39
白帽子社区 -----进制 下载文件 用记事本打开,得不同进制密文,python脚本解密 得base64密文,在线解密 base64 密文,得 密文,再解密,循环操作得 flag 附上 脚本 和在线base64网址 #!/usr/bin/python # -*- coding:utf8 - import binascii text = "b1001110 b1010110 d84 b1010110 x49 x56 x6d x31 b110100 d99 x32 d70 d87 x53 b1101110 b1010010 d104 x52 b1101101 d104 x61 d89 b1010100 x46 d97 b1001101 d49 d82 d116 x65 b1000111 d70 b1010011 x4d d88 d66 x46 d86 x57 d49 x77 b1010100 x6c b1011010 b1110101 b1010001 b1101011 b1101000 x57 b1010010 x6c x70 d88 b1010110 b1101010 d70 b1100001 d87 d70 d78 x73 x62 x46 b1001010 x69 x52 b110010 b1101000 d87 d86 b1101101 d120 b1101011

PHP实现IP–数字互相转换

十年热恋 提交于 2019-12-14 11:57:01
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> PHP实现IP–数字互相转换 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>第一php网提供的教程--PHP实现IP--数字互相转换</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> </head> <body> <?php /* * 作者:XXXX */ //将IP转换为数字 function ipton($ip) { $ip_arr=explode('.',$ip);//分隔ip段 foreach ($ip_arr as $value) { $iphex=dechex($value);//将每段ip转换成16进制 if(strlen($iphex)<2)//255的16进制表示是ff,所以每段ip的16进制长度不会超过2 { $iphex='0'.$iphex;/

['1', '2', '3'].map(parseInt) 输出答案和解析

纵然是瞬间 提交于 2019-12-11 19:39:01
根据题目可以了解到这道题主要考我们的是对 map 函数和 parseInt 函数的熟悉程序,所以我们先来了解这两个函数 map 根据 MDN 上对于map的解释: map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 上面的话读起来可能比较晦涩,我个人理解其实就是遍历数组,对数组的每一项进行遍历并做数据处理。这道题的关注重点就是在于map对于数组处理的方法,所以我们着重看下在MDN对于map参数的解释: callback 生成新数组的元素的函数,使用三个参数: currentValue callback数组中正在处理的当前元素 index |可选 callback 数组中正在处理的当前元素的索引。 array |可选 map 方法调用的数组。 *** 这样的解释就很明白了,map方法的参数是一个回调函数,这个函数会有三个参数:当前元素、当前元素的下标和当前数组。所以这道题可以转换成一下写法: parseInt('1',0,['1','2','3']) parseInt('2',1,['1','2','3']) parseInt('3',2,['1','2','3']) parseInt MDN 上对于parseInt的解释非常清晰, parseInt(string, radix) 将一个字符串 string 转换为 radix 进制的整数,

短网址

霸气de小男生 提交于 2019-12-06 20:39:29
前言 何谓短网址(Short URL)?顾名思义,就是形式上比较短的网址,当前主要是借助短网址来替代原先冗长的网址,方便传输和分享。短网址服务也就是将长网址转换为短网址的服务,这种服务在方便了广大网民的同时也带来了一定的安全风险。 Tencent Blade Team专门对短网址的安全问题进行过研究,也在KCON 2018上进行过分享过部分成果,本文也是对议题《短网址的攻击与防御》的解读和补充。 特别感谢:lake2、Wester、martinzhou 一、短网址基础 短网址服务可以提供一个非常短小的URL以代替原来的可能较长的URL,将长的URL地址缩短。用户访问缩短后的URL时,通常将会重定向到原来的URL。短网址服务主要起源于一些具有字数限制的微博客服务,但是现在广泛用于短信、邮件等。 很多安全问题是跟安全场景相关的,随着场景的不断变化,安全问题也是变化的。短网址的初衷是在微博这种限制字数的公共平台使用,也就是说它基本是公开的,但是后续在个人短信和邮件之中,其实有部分已经是私密的。 这直接引发了短网址第一个比较大的潜在风险。 在了解短网址风险和漏洞之前,我们首先应该了解下短网址是什么以及如何工作。 短网址服务的基本流程:用户将长网址提交到短网址服务中,之后短网址服务经过URL处理之后,利用转换算法对长网址进行转换,最后分别将长网址和短网址存储到数据库之中

macOS 10.15 开启 HiDPI

守給你的承諾、 提交于 2019-12-06 13:59:11
普通的显示,接上 MacBook 发现原生的分辨率设置在 2K 显示器上字体很小,换成 1080P 分辨率显示效果又特别模糊。下面介绍MacBook强行开启 HiDPI。 什么是 HiDPI 它使用横纵 2 个物理像素也就是 4 个物理像素来显示 1 个像素区域,结果就是图像的细节得到翻倍、更清晰、边缘更平滑。 拿 13 寸的 MacBook Pro 举例,它的屏幕物理分辨率是 2560 x 1600,所以原生的 HiDPI 分辨率就是 1280x800。更高的一档 1440x900 HiDPI 缩放分辨率,则是虚拟出一个 2880x1800 的分辨率,再进行软缩放输入。所以你能发现苹果的电脑总是有很高的分辨率。 好了,既然你的屏幕是 1080p,本身就没有那么多像素去合成 HiDPI,如果以原生的显示计算,你这屏幕的 1080p 分辨率应该是 960x540,这么低的分辨率你是没法用的。 这个脚本的功能就是虚拟出比你的屏幕物理分辨率更高的假分辨率……如果你要开启 1080p 的 HiDPI 分辨率,就虚拟一个 3840 x 2160 的假分辨率,然后 macOS 会使用 4 个像素来显示 1 个像素区域,也就是和你物理分辨率一样的 1080p 分辨率。 手动配置 HiDPI 本教程测试环境: 笔记本:MacBook Pro (Retina, 15-inch, Mid 2015)

c 语言进制表示

时间秒杀一切 提交于 2019-12-06 10:55:36
十进制:以正常数字1-9开头,如:123 八进制:以数字0开头,如:0123 十六进制:以数字0x开头,如:0x123 二进制:c 语言不能直接书写二进制数 printf打印: 十进制:%d 八进制:%o 十六进制:%x 来源: https://www.cnblogs.com/xumaomao/p/11979468.html