Base64 유닛테스트 집단지성으로 모으기! #87
Replies: 15 comments 9 replies
-
TestParamType(std::vector<u_int8_t>{ 0xab, 0xcd }, "KvN") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0x3d, 0x2e }, "D0u") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0x4d, 0x5b }, "E1b") |
Beta Was this translation helpful? Give feedback.
-
0x1, 0x0, 0x0, 0x0, 0x0, 0x0 의 경우 |
Beta Was this translation helpful? Give feedback.
-
그리고 혹시나 해서 말씀드리는데, 제가 올려드린 진수변환기는 아쉽게도 앞의 '0'들은 생략해버립니다. |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0x9a, 0xc7 }, "JrH") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0x67, 0x6f, 0x6f, 0x64 }, "Bnb29k") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0xa8, 0xe9 }, "Kjp") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0xaa, 0xbb }, "Kq7") |
Beta Was this translation helpful? Give feedback.
-
오 테스트 케이스가 엄청 많이 쌓였네요 ㅋㅋㅋ 감사합니다! |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0x6f, 0x3c, 0x4e, 0x5a, 0x6b, 0x2d, 0x1c, 0xaa }, "G88TlprLRyq") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0x12, 0x34, 0x5a, 0x9f }, "ASNFqf") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0x9f, 0x1b, 0x3c, 0x44, 0x55, 0x1d, 0x99, 0x80, 0x72, 0x17, 0x22, 0xcf }, "nxs8RFUdmYByFyLP") |
Beta Was this translation helpful? Give feedback.
-
TestParamType(std::vector<u_int8_t>{ 0xc0, 0xde, 0xba, 0x5e, 0xba, 0x11 }, "MDeLpeLoR") |
Beta Was this translation helpful? Give feedback.
-
@designe @yeonns |
Beta Was this translation helpful? Give feedback.
-
Base64의 테스트 셋도 다같이 만들어보면 좋을 것 같아서 Dicussion을 만들었습니다.
Base64도 Base32와 원리는 같습니다. 혹시 아직도 진법 변환에 대해서 잘 모르시겠는 분들은 #83 을 참고해주길 부탁드리겠습니다.
Base64와 Base32의 차이점울 중심으로 하여 간략하게 설명하겠습니다.
Base64에서도 Base32에서처럼 뒤에서부터 읽어오는 방식으로 진법변환을 합니다. 이때 Base32에서는 20비트씩 끊어 읽던 것과 다르게 Base64에서는 4와 6의 최소공배수를 사용하여 12개씩 끊어서 읽습니다.
테스트 셋을 만드는 방법이 Base32에 비해서 조금 많이 복잡한데
아쉽게도 인터넷에 있는 Hex to Base64진법 변환기는 앞에서부터 읽고 '='으로 padding을 하는 방식으로, 저희의 Base64와는 다른 계산법을 이용해서 테스트 셋을 만들 때 사용하지 못합니다. ㅠㅠ
테스트 셋 만드는 방법
연산이 막 복잡하지는 않습니다. 다들 시간 나실 때 한 번씩만 부탁드리겠습니다! 더 간단한 방법을 알고 계시는 분들은 코멘트 부탁드립니다!
1, 2 번은 진수 변환기를 쓰시면 편하실거고 진수 변환기
3번은 여기있는 Base64 색인표를 참고해주시면 됩니다. Base64 색인표
Base32 테스트셋도 너무 잘만들어 주셨는데, 테스트 케이스를 받아올 때 '0x05'같은 한자리 16진수가 '0x0'과 '0x5'가 아닌, '0x5' 한자리로만 받아진다는 점을 명심해주시면 감사하겠습니다! 직접 테스트 케이스를 돌려보고 싶으신 분들은 아래 Discussion을 참고하시면 되겠습니다! 감사합니다!
euphony-io/wave-in-listener#34 (comment)
Beta Was this translation helpful? Give feedback.
All reactions