특정 파일 편집기를 프로토 타이핑 중이며 16 진수 파일을 구문 분석하고 특정 패턴을 찾는 데 문제가 있습니다. 여기에 내 코드합니다 (Bitstring 라이브러리를 사용)입니다 : from bitstring import BitArray, BitStream, Bit
f = open('d:\BB.bin', "rb")
s = BitArray(f)
f1 =
해시 키에서부터 비트 스트링까지의 dict을 가지고 있습니다. bitstring은 가변 길이 일 수 있지만 일반적으로 < 160 비트이고 대개 <80입니다. 약 80M 키 값 쌍이 있습니다. 가능한 한 적은 메모리에 어떻게이 데이터 구조를 저장할 수 있습니까? 나는 비트 문자열을 채우고 싶지 않거나, 꽤 많은 공간을 낭비하지 않을 것입니다. 처음에는 비트
비트 스트링의 길이가 필요합니다. 그와 같은 함수를 만들었습니다 : len(<<Bitstr/bitstring>>) ->
len(Bitstr, 0).
len(<< _X, Tail/bitstring >>, Len) ->
len(Tail, Len + 8);
len(<< _X:7, Tail/bitstring >>, Len) ->
바이너리 프로토콜의 메시지를 디코딩하는 코드를 작성 중입니다. 각 메시지 유형에는 1 바이트 유형 식별자가 할당되며 각 메시지는이 유형 ID를 전달합니다. 메시지는 모두 5 개의 필드로 구성된 공통 헤더로 시작합니다. 내 API는 간단하다 decoder:decode(Bin :: binary()) -> my_message_type() | {error, bin
프리 우리가 bitstring (스트림의 표준 입력으로 파이프 됨)에서 이진 트리를 만들 필요가 있습니다. 내 이해가 올바른지 궁금합니다. 11110001000의 preorder 비트 문자열 (1은 내부 노드를 나타내고 0은 외부 노드를 나타냄)이 있으면 이진 트리가 생성됩니까? 1
/\
1 0
/\
1 1
/\/\
파일에서 최대한 많은 24 비트 청크를 읽고 싶습니다. bitstrings을 사용하여 이것을 수행하는 방법은 무엇입니까? ConstBitStream 현재 청크의 수는 얼마입니까? 현재 나는이 작업을 수행 : eventList = ConstBitStream(filename = 'events.dat')
for i in range(1000) :
pac
과제를하려고하는데 첫 번째 단계에서 문제가 있습니다. https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B1DkmkmuB-leNDVmMDU0MDgtYmQzNC00OTdkLTgxMDEtZTkxZWQyYjM4OTI1&hl=en 샘플 입력된다 :의 출력을 제공 A0 0 A00 ab000 아래
현재 erlang을 배우려고하고 있는데, 내가하려고하는 것은 비트 배열이나 int에 저장된 배열의 특정 인덱스에 연산을 수행하는 것입니다. 한 위치에 0이 있으면 해당 위치에있는 배열의 인덱스는 사용되지 않습니다. Example the array is: [1, 3, 5, 42, 23]
My bit array is: 21 = 10101 in binary