如果可能的话,我想将给定的十六进制颜色转换为 3 位数字。例如:
#ffffff - #fff
#001122 - #012
#012345 - #012345
Run Code Online (Sandbox Code Playgroud)
有谁知道该怎么做?
我在谷歌网站上找到了这个正则表达式,但我不知道如何使用它们:/
# shorten your CSS
sed -re 's/#(([0-9a-fA-F])\2)(([0-9a-fA-F])\4)(([0-9a-fA-F])\6)/#\2\4\6/'
# expand: the three-digit RGB notation (#rgb) is converted into six-digit form (#rrggbb) by replicating digits
sed -re 's/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])\b/#\1\1\2\2\3\3/'
# works in egrep too
grep -E '(([0-9a-fA-F])\2)(([0-9a-fA-F])\4)(([0-9a-fA-F])\6)'
Run Code Online (Sandbox Code Playgroud) 我收到以下代码的非法 unicode 转义。
for(int i=3400;i<4000;i++)
System.out.println("\u" + i );
Run Code Online (Sandbox Code Playgroud)
\u3400如果我在得到输出而不是实际的 unicode 字符之前添加斜杠。
我想在循环中打印 unicode 字符。unicode 字符也是十六进制代码。如何循环访问十六进制代码并打印所有 unicode 字符。
一个常见的 CI 构建类型问题,我有一个标头,其中包含我想要在构建之前增加的版本号。
所以测试.h
#define VERSION_PROJECT_MAJOR 01
#define VERSION_PROJECT_MINOR 69
#define VERSION_VENDOR 2
Run Code Online (Sandbox Code Playgroud)
次要版本需要获得 6A。
环境是带有 gnu utils 的 DOS/WIN,所以我认为 awk 是可行的方法,但我不能完全旋转它。构建系统的版本不能就地执行,但我可以忍受。
到目前为止,我已经写了一篇相当不错的俏皮话;
awk "/#define VERSION_PROJECT_MINOR/{$0=$1 \" \" $2 \" \" (strtonum(\"0x\" $3)+1)}1;" test.h
Run Code Online (Sandbox Code Playgroud)
这将版本号设置为106,如何使其输出十六进制???
这有效:
ghost=$'\U1F47B'
PROMPT='time: %T $ghost > '
Run Code Online (Sandbox Code Playgroud)
但是有没有办法内联 Unicode 字符的十六进制版本呢?
我有这个字符串:
string = '{'id':'other_aud1_aud2','kW':15}'
简而言之,我希望我的字符串变成这样的十六进制字符串:'7b276964273a276f746865725f617564315f61756432272c276b57273a31357d'
一直在尝试binascii.hexlify(string),但它不断返回:
类型错误:需要类似字节的对象,而不是“str”
此外,它只是让它与以下方法一起工作:bytearray.fromhex(data['string_hex']).decode()
对于这里的整个代码来说,它是:
string_data = "{'id':'"+self.id+"','kW':"+str(value)+"}"
print(string_data)
string_data_hex = hexlify(string_data)
get_json = bytearray.fromhex(data['string_hex']).decode()
Run Code Online (Sandbox Code Playgroud)
这也是Python 3.6
注意- 这不是这个问题的重复 -并行计算右侧的连续零位(尾随):解释?。signed()链接的问题有不同的上下文,它只询问使用的目的。不要将此问题标记为重复。
我一直在寻找一种方法来获取数字中尾随零的数量。我发现斯坦福大学在这里写了一篇有点无聊的文章,给出了以下解释。
unsigned int v; // 32-bit word input to count zero bits on right
unsigned int c = 32; // c will be the number of zero bits on the right
v &= -signed(v);
if (v) c--;
if (v & 0x0000FFFF) c -= 16;
if (v & 0x00FF00FF) c -= 8;
if (v & 0x0F0F0F0F) c -= 4;
if (v & 0x33333333) c -= 2;
if (v & 0x55555555) c …Run Code Online (Sandbox Code Playgroud) 我期望strtol("ffffffffffffffff", NULL, 16)return-1和strtol("7fffffffffffffff", NULL, 16)return LONG_MAX,因为linux 手册页第一句话似乎暗示 strtol 返回signed long 。第二次调用确实返回了预期的结果。但是第一个调用返回了LONG_MAX!就像,输入的十六进制字符串甚至不相同。好像这还不够令人困惑,strtol("8000000000000000", NULL, 16)我期望返回的LONG_MIN,返回与前两个调用 相同的值LONG_MAX。对于前两次调用,我认为 strtol 忽略了输入字符串中的最高有效位,但第三次调用驳斥了这一假设。
这是某种奇怪的铸造情况还是我将数学现实与 C 现实混合在一起?
这是我的源代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[]) {
long x = strtol(argv[1], NULL, 16);
printf("%ld\n", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在 Ubuntu 上进行编译gcc scratch.c,并通过将十六进制字符串作为命令行参数传递来获取结果。例如:
./a.out ffffffffffffffff // gives LONG_MAX
./a.out 8000000000000000 // gives LONG_MAX
./a.out 7fffffffffffffff // gives LONG_MAX
Run Code Online (Sandbox Code Playgroud) 我有一个像“10011011001”这样的字符串,我希望将该字符串转换为十六进制字符串,最好的方法是什么。
编译的所有exes都可以反编译(但有一些困难),但delphi应用程序表单保存为exe内部的dfms,可以很容易地看到(使用reshacker)(soooo很容易)我可以克服这些问题,首先我想到将dfm数据复制到oncreate程序,所以我可以隐藏我的表格信息.
告诉我一个很好的解决方案,
我不喜欢使用压缩机
而我的应用程序有点大,所以我不能将一个接一个端口重新连接到一个DLL.我需要一个有效的解决方案
我有一个十六进制数列表,我需要转换为字符串,将其写入二进制文件.我怎样才能做到这一点?(将十六进制数列表转换为字符串)