source: libcf/trunk/test/codec.c@ 148

Last change on this file since 148 was 96, checked in by cheese, 11 years ago

#1 fix hex decoder exception and rollback function interface of decoders

File size: 1.5 KB
Line 
1/**
2 * @file codec.c
3 * @author myusgun <myusgun@gmail.com>
4 */
5#include "cf_codec.h"
6#include "cf_debug.h"
7#include <stdio.h>
8#include <string.h>
9
10int main (void)
11{
12 char data[] = "ONE OK ROCK - Nothing Helps";
13
14 char encode[512] = {0x00,};
15 unsigned char bin[512] = {0x00,};
16 size_t length = 0;
17
18 /* hex */
19 CF_DEBUG_PRINT (stderr, "------------------- codec/hex ----------------\n");
20 CF_DEBUG_PRINT (stderr, "data : %s\n", data);
21 CF_DEBUG_PRINT (stderr, "= Convert binary to hex =\n");
22 CF_Codec_Hex_Encode ((unsigned char *)data, strlen (data), encode);
23 CF_DEBUG_PRINT (stderr, "hex : %s\n", encode);
24 CF_DEBUG_PRINT_BIN (stderr, (unsigned char *) data, strlen (data), "data : %s\n", data);
25
26 CF_DEBUG_PRINT (stderr, "= Convert hex to binary =\n");
27 if (CF_Codec_Hex_Decode (encode, bin, &length) < 0) {
28 // error
29 }
30 else
31 CF_DEBUG_PRINT_BIN (stderr, bin, length, "bin : %s\n", bin);
32
33 memset (bin , 0x00, sizeof (bin));
34 memset (encode, 0x00, sizeof (encode));
35 length = 0;
36
37 /* base64 */
38 CF_DEBUG_PRINT (stderr, "----------------- codec/base64 ---------------\n");
39 CF_DEBUG_PRINT (stderr, "data : %s\n", data);
40 CF_DEBUG_PRINT (stderr, "= Convert binary to base64 =\n");
41 CF_Codec_Base64_Encode ((unsigned char *)data, strlen (data), encode);
42 CF_DEBUG_PRINT (stderr, "base64 : %s\n", encode);
43
44 CF_DEBUG_PRINT (stderr, "= Convert base64 to binary =\n");
45 if (CF_Codec_Base64_Decode (encode, bin, &length) < 0) {
46 // error
47 }
48 else
49 CF_DEBUG_PRINT_BIN (stderr, bin, length, "bin : %s\n", bin);
50
51 return 0;
52}
Note: See TracBrowser for help on using the repository browser.