blob: dd72c39a239ddfe1d2ccd7f4f072c6611b682d36 [file] [log] [blame]
James Robinson646469d2014-10-03 15:33:28 -07001// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
James Robinsonc8f302a2015-05-14 16:38:33 -07005#ifndef BASE_BASE64_H_
6#define BASE_BASE64_H_
James Robinson646469d2014-10-03 15:33:28 -07007
8#include <string>
9
10#include "base/base_export.h"
11#include "base/strings/string_piece.h"
12
13namespace base {
14
James Robinson6e9a1c92014-11-13 17:05:42 -080015// Encodes the input string in base64. The encoding can be done in-place.
James Robinson646469d2014-10-03 15:33:28 -070016BASE_EXPORT void Base64Encode(const StringPiece& input, std::string* output);
17
18// Decodes the base64 input string. Returns true if successful and false
James Robinson6e9a1c92014-11-13 17:05:42 -080019// otherwise. The output string is only modified if successful. The decoding can
20// be done in-place.
James Robinson646469d2014-10-03 15:33:28 -070021BASE_EXPORT bool Base64Decode(const StringPiece& input, std::string* output);
22
23} // namespace base
24
James Robinsonc8f302a2015-05-14 16:38:33 -070025#endif // BASE_BASE64_H_