小编rua*_*akh的帖子

如何将十六进制编码的字符串转换为Perl中的字节字符串?

我的原始代码是用Python编写的,但是我需要将它转换为Perl,这些库是我在Python中没有的.

在Python中我会这样做:

packet=binascii.unhexlify('F0000000F6905C452001A8C0000000000160994E810FB54E0100DB0000000000000')
Run Code Online (Sandbox Code Playgroud)

这将创建一个包含二进制表示形式的字符串:

0xF0 0x00 0x00 0x00 0xF6 0x90 0x5C 0x45 etc...
Run Code Online (Sandbox Code Playgroud)

现在我的字符串是一个字节数组,我可以将它作为我的数据包的有效负载发送.我怎么做Perl?

perl hex packet

7
推荐指数
1
解决办法
9579
查看次数

/ dev/stdin与herestring

我想要一个可以从文件或标准输入获取输入的Bash脚本,grep例如,非常类似

$ cat hw.txt
Hello world

$ grep wor hw.txt
Hello world

$ echo 'Hello world' | grep wor
Hello world

$ grep wor <<< 'Hello world'
Hello world
Run Code Online (Sandbox Code Playgroud)

一切都很美妙.但是使用以下脚本

read b < "${1-/dev/stdin}"
echo $b
Run Code Online (Sandbox Code Playgroud)

如果使用herestring它会失败

$ hw.sh hw.txt
Hello world

$ echo 'Hello world' | hw.sh
Hello world

$ hw.sh <<< 'Hello world'
/opt/a/hw.sh: line 1: /dev/stdin: No such file or directory
Run Code Online (Sandbox Code Playgroud)

bash stdin cygwin heredoc

7
推荐指数
1
解决办法
8894
查看次数

assertEquals问题(对象对象)(很长)

Interval<Integer> interval1 = Intervals.open(3, 6);
Run Code Online (Sandbox Code Playgroud)

3是下限,6是上限.

assertEquals(interval1.lowerBound(), 3);
Run Code Online (Sandbox Code Playgroud)

写完测试后,有一个红色下划线说:

ambiguous method call.Both assertEquals(object, object) assertEquals(long, long)
Run Code Online (Sandbox Code Playgroud)

java junit

7
推荐指数
1
解决办法
4620
查看次数

如何在OSX上获取Java文件所有者的名称?

我只需要知道Mac上使用Java的文件的所有者名称 - 我该怎样才能获得它?谢谢!

java macos

6
推荐指数
2
解决办法
6947
查看次数

如何摆脱列表中的重复,但保持顺序

我在DrRacket中使用Lambda的中级学生,我想知道如何在保持顺序的同时删除列表中的重复项.例如(remove-dup (list 2 5 4 5 1 2))会产生(list 2 5 4 1).到目前为止,我有这个:

(define (remove-duplicates lst)
  (cond
    [(empty? lst) empty]
    [(member? (first lst) (rest lst)) 
     (remove-duplicates (rest lst))]
    [else (cons (first lst) (remove-duplicates (rest lst)))]))
Run Code Online (Sandbox Code Playgroud)

,但由于没有保留订单,因此存在问题.有人能指出我正确的方向吗?谢谢你的时间.

scheme racket

6
推荐指数
3
解决办法
2万
查看次数

二进制到字符串,比字典更好?

目标:将二进制转换为字符串

示例:0111010001100101011100110111010001100011011011110110010001100101 - > testCode(不含空格)

我使用字典和我的功能,我搜索更好的方式,更有效率

from textwrap import wrap

DICO = {'\x00': '00', '\x04': '0100', '\x08': '01000', '\x0c': '01100', 
'\x10': '010000', '\x14': '010100', '\x18': '011000', '\x1c': '011100',
' ': '0100000', '$': '0100100', '(': '0101000', ',': '0101100', '0': '0110000',
'4': '0110100', '8': '0111000', '<': '0111100', '@': '01000000',
'D': '01000100', 'H': '01001000', 'L': '01001100', 'P': '01010000',
'T': '01010100', 'X': '01011000', '\\': '01011100', '`': '01100000',
'd': '01100100', 'h': '01101000', 'l': '01101100', 'p': '01110000',
't': '01110100', 'x': '01111000', '|': '01111100', '\x03': '011',
'\x07': …
Run Code Online (Sandbox Code Playgroud)

python string binary dictionary

6
推荐指数
2
解决办法
1401
查看次数

Java 6中的垃圾优先(G1)收集器"生产就绪"吗?

G1垃圾收集器在Java(6)的最新版本中是否仍被认为是实验性的?它是安全的并且可以用于生产吗?

编辑:我指的是Oracle JVM.

java garbage-collection jvm

6
推荐指数
1
解决办法
2151
查看次数

Pattern.compile( "\\ [+ \\?]");

在本声明中,取自Pagerank源代码:

Pattern.compile("\\[.+?\\]");
Run Code Online (Sandbox Code Playgroud)

模式是什么意思?我试过研究它,它说2斜线意味着一个斜线,但是它是什么.+?

java regex

6
推荐指数
1
解决办法
7926
查看次数

如何实现strcpy?

我有一个关于使用strcpy的问题.我知道ANSI C标准说:源和目标不能重叠,否则行为是不可预测的.我向您展示了一段代码,如果它是在Linux下使用旧的gnu C编译器编译的话,它可以正常工作.

#include <string.h>
#include <stdio.h>

char S[80],*P;

int main() {
    strcpy(S,"abcdefghi\r\njklmnopqr\r\nstuvwxyz\r\n");
    for (P=S; P=strchr(P,'\r'); P++) strcpy(P,P+1);
    printf("%s\n",S);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

此序列\r从输入字符串中删除每个(回车).我知道(来自Kernigham和Ritchie)strcpy的一个非常简单的实现如下

while (*t++=*s++) ;
Run Code Online (Sandbox Code Playgroud)

现在我使用gcc(Gentoo 4.5.4 p1.0,pie-0.4.7)4.5.4编译我的程序,它打印出来:

abcdefghi
jklmnpqr          <-- missing 'o'
stuvwxxyz         <-- doubled 'x'
Run Code Online (Sandbox Code Playgroud)

我想这个编译器(实际上它的库)使用了非常复杂的序列strcpy,我不明白其中的原因.

c strcpy

6
推荐指数
2
解决办法
2363
查看次数

Java字符串替换(删除换行符,将$更改为\ $)

我有一个这样的字符串($字符总是被其他字符包围):

a$b
c$d
e$f
Run Code Online (Sandbox Code Playgroud)

我希望我的字符串方法放在\前面$并删除换行符:

a\$bc\$de\$f
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但它没有放置\角色:

 s=s.replaceAll("\n","").replaceAll("$", "\\$");
Run Code Online (Sandbox Code Playgroud)

java regex string

6
推荐指数
2
解决办法
197
查看次数

标签 统计

java ×5

regex ×2

string ×2

bash ×1

binary ×1

c ×1

cygwin ×1

dictionary ×1

garbage-collection ×1

heredoc ×1

hex ×1

junit ×1

jvm ×1

macos ×1

packet ×1

perl ×1

python ×1

racket ×1

scheme ×1

stdin ×1

strcpy ×1