본문 바로가기

# All Category

Base64. Decoder Encoder를 만든 것과 유사히 Decoder를 만들었다. 123456789101112131415161718192021222324252627282930import sysprint "\ndecoded String :", rf = open(sys.argv[1], "r")wf = open("Decoded-"+sys.argv[1], "w")lines = rf.readlines() base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"string = ""eibit = list() for line in lines: for char in line: if char != "=": value = format(base.find(char), 'b'.. 더보기
Base64. Encoder 몇 가지 함수를 이용해 BASE 64 Encoder를 제작했다. 123456789101112131415161718192021222324252627282930313233343536373839import sysprint "\nEncoded String :", rf = open(sys.argv[1], "r")wf = open("Encoded-"+sys.argv[1], "w")lines = rf.readlines() base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"string = ""sixbit = list() for line in lines: for char in line: value = format(ord(char), 'b').. 더보기
Base64. Base64. Base가 64라는 말그대로 64 = 26의 값으로 표현할 수 있게 변경해주는 코딩 방법이다. 만드는 방법은 변환될 대상 문자의 아스키코드 10진수 값을 2진수로 변경시켜 한 문자당 8bit로 표현된 문자를 쭉 연결한뒤 처음부터 다시 6bit씩 끊어서 'base64 table'의 값으로 치환하여 만든다. base64 table은 (26=) 64개의 문자로 표현할 수 있도록 되어있는데 (65번째 값 64는 Padding문자 '=' 이고) 0~63 값들의 정렬은 다음과 같다.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ Padding을 하는 방법은 (전체비트수 % 3)의 값의 수만큼 뒤에 =을 붙이는 것이다. 예시 :) 1... 더보기
파일구조 정리하기(with Excel) 이 글은 MBR, Boot Record 등의 파일 구조를 정리할때 편하게 엑셀로 불러와 저장하는 방법을 설명하는 글입니다. 1. HxD에서 MBR(원하는 데이터)부분을 드래그(블록지정)한다. 2. 메뉴에서 파일 > 내보내기 > 편집기화면(E)를 선택한다. 3. 원하는 이름으로 .txt파일로 저장한다. 4. 엑셀을 킨뒤 모든 파일(*) 열기로 조금전에 저장한 .txt파일을 연다. 5. 열게되면 텍스트 마법사가 자동으로 실행되는 데 1단계는구분 기호로 분리됨을 체크하고 다음으로 넘어간다. 6. 공백을 체크하고 다음단계로 넘어간다. 7. 아래의 사진처럼 드래그(블록지정)한 상태에서 8. 텍스트를 선택한다. 그리고 마침을 누른다. 9. 이제 엑셀로 아래처럼 불러왔는데 일단 본 파일에 영향이 가지않도록 엑셀로 다.. 더보기
#11 내장함수, 외장함수 파이썬의 내장함수와 외장함수는 여러 함수들 가운데 중요한 함수들을 중심으로 잘 정리해놓은 위키독스를 참고해 훑어보는 정도로 공부하는 게 좋을 것 같다. ⇒ [ 위키독스 - "내장 함수" ] ⇒ [ 위키독스 - "외장 함수" ] 더보기
FAT32 파일복구 # 본 게시글은 단순 내용기록 및 자료보존용이며 잘못 기재된 내용이 있을 수 있으니 오해없길 바라며, 만약 수정사안이 있을 시 댓글로 달아주시면 감사드리겠습니다. 일단 교육시간에 배포해준 VHD에서 덤프를 뜬 파일을 가지고 파일 하나를 복구 해보며 복구방법을 알아가는 것으로 진행 할 것입니다. "일단 복구를 위해 필요한 것은 HxD와 프로그래머용 계산기입니다." 복구를 하기에 앞서 일단 구조부터 이해를 해야하는데요.엑셀과 그림을 통해 이해하는 것이 직관적으로 쉽게 이해할 수 있는 방법입니다. FAT32의 구조는 이런 형식인데요. 일단 찾아야하는 파일들에 대한 정보가 존재하는 곳은 Root Directory.입니다. 그리고 RootDirectory를 찾는 방법은 MBR에서 시작해서 -> BootRecord.. 더보기
#10 모듈, 패키지, 예외처리 모듈 모듈은 함수나 변수, 클래스를 모아놓은 파일로 c언어의 헤더파일과 유사한 느낌이다. 모듈 만들고 불러오기 모듈을 이해하기위해 간단히 모듈을 만들고 불러와보자 # mod1.py def sum(a, b): return a + b 여태 해왔던 것들과 다름없는 이 파일. 모듈을 mod1.py로 특정 디렉토리에 저장한다. ( -> C:\Python)이제 이렇게 sum함수가 들어가있는 모듈을 파이썬으로 불러와서 쓰려면 다음과 같이 모듈을 저장한 디렉토리에서 python(대화형인터프리터)를 실행한다. C:\Users> cd C:\Python C:\Python> python Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (A.. 더보기
#09 클래스 클래스 c 같은 경우에는 클래스가 없는데 왜 클래스가 필요한가에 대해 의문을 품을 수 있다. 예시를 보면 이해가 되는데 클래스는 함수로 각각 선언해야하는 것을 쉽게 도와주는 느낌이다. 2개의 계산기로 계산하는 것을 함수를 이용해 짠 예시result1 = 0result2 = 0 def adder1(num): global result1 result1 += num return result1 def adder2(num): global result2 result2 += num return result2 print(adder1(3)) print(adder1(4)) print(adder2(3)) print(adder2(7)) 2개의 계산기로 계산하는 것을 클래스를 이용해 짠 예시class Calculator: def.. 더보기
#08 함수, 파일 입출력 함수 역시 코딩하면 빠질 수 없는 요소인 함수이다.파이썬의 함수 기본 구조는 다음과 같다.def 함수명(입력 인수): ... 딱 보았을때 대강 감이 오는데 아래의 예를 보면 이해가 더 잘 될것이다.def sum(a, b): return a + b 이제 이용하기 나름인데 c에서 했던 바와 같이 입력이 있고 없고, 출력이 있고 없고하는 다양한 함수를 만들 수 있다. >>> def say(): ... return 'Hi' ... >>> >>> def sum(a, b): ... print("%d, %d의 합은 %d입니다." % (a, b, a+b)) ... >>> >>> def say(): ... print('Hi') ... >>> 입력값이 몇 개 인지를 모를때 입력값이 몇 개 인지를 모르는 경우에도 이를 해결.. 더보기
#07 제어문 (if, while, for) 제어문과 같은 문법은 모든 언어에서 빠지지 않고 등장하는 문법이고, 모든 언어에서 사용하는 형식은 조금씩 다르지만 결국 같은 과정, 결과를 내놓기 때문에 C언어를 해왔던 경험을 살려 접근하면 어렵지 않게 이해할 수 있다. if문if 조건문: 수행할 문장1 수행할 문장2 ... else: 수행할 문장A 수행할 문장B ... 일단 파이썬은 중괄호 및 세미콜론이 없기 때문에 들여쓰기를 주의해서 사용해야한다. Tab이냐 space*4에 논란이 있지만 space*4를 추천하고 있다고 한다. 비교연산자나 if, else에 대한 설명은 생략하고 차이점으로는c에서의 else if 는 파이썬에서는 elif로 표현하고 ||, &&, ! 는 or, and, not으로 표현한다. 더 나아가 파이썬에서는 in, .. 더보기