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

Last change on this file since 96 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
RevLine 
[66]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{
[68]12 char data[] = "ONE OK ROCK - Nothing Helps";
[66]13
[88]14 char encode[512] = {0x00,};
[66]15 unsigned char bin[512] = {0x00,};
[96]16 size_t length = 0;
[66]17
[88]18 /* hex */
19 CF_DEBUG_PRINT (stderr, "------------------- codec/hex ----------------\n");
[72]20 CF_DEBUG_PRINT (stderr, "data : %s\n", data);
21 CF_DEBUG_PRINT (stderr, "= Convert binary to hex =\n");
[88]22 CF_Codec_Hex_Encode ((unsigned char *)data, strlen (data), encode);
23 CF_DEBUG_PRINT (stderr, "hex : %s\n", encode);
[72]24 CF_DEBUG_PRINT_BIN (stderr, (unsigned char *) data, strlen (data), "data : %s\n", data);
[66]25
[72]26 CF_DEBUG_PRINT (stderr, "= Convert hex to binary =\n");
[96]27 if (CF_Codec_Hex_Decode (encode, bin, &length) < 0) {
[90]28 // error
29 }
[96]30 else
31 CF_DEBUG_PRINT_BIN (stderr, bin, length, "bin : %s\n", bin);
[66]32
[88]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");
[96]45 if (CF_Codec_Base64_Decode (encode, bin, &length) < 0) {
[90]46 // error
47 }
[96]48 else
49 CF_DEBUG_PRINT_BIN (stderr, bin, length, "bin : %s\n", bin);
[88]50
[66]51 return 0;
52}
Note: See TracBrowser for help on using the repository browser.