summaryrefslogtreecommitdiffstats
path: root/third_party/libjingle/files/talk/base/base64.h
blob: 5b09eb24e1fa46647166cb8a4360461f8e0c0f65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

//*********************************************************************
//* C_Base64 - a simple base64 encoder and decoder.
//*
//*     Copyright (c) 1999, Bob Withers - bwit@pobox.com
//*
//* This code may be freely used for any purpose, either personal
//* or commercial, provided the authors copyright notice remains
//* intact.
//*********************************************************************

#ifndef TALK_BASE_BASE64_H__
#define TALK_BASE_BASE64_H__

#include <string>

namespace talk_base {

class Base64
{
public:
  static std::string encode(const std::string & data);
  static std::string decode(const std::string & data);
  static std::string encodeFromArray(const char * data, size_t len);
private:
  static const std::string Base64Table;
  static const std::string::size_type DecodeTable[];
};

} // namespace talk_base

#endif // TALK_BASE_BASE64_H__