ホームページ > バックエンド開発 > C++ > C で Base64 デコードを実装するにはどうすればよいですか?

C で Base64 デコードを実装するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-26 20:06:12
オリジナル
971 人が閲覧しました

How to Implement Base64 Decoding in C  ?

C での Base64 デコード

Base64 は、広く使用されているバイナリからテキストへのエンコード方式であり、データ送信やデータ送信などのさまざまなアプリケーションで採用されています。画像の保管場所。便宜上、多くのプログラミング言語には組み込みの Base64 エンコード/デコード機能が提供されています。ただし、 C を使用している場合は、適切なライブラリを見つけるか、独自のコード スニペットを実装する必要があります。

修正された Base64 デコード実装

以下は、C での既存の Base64 デコード実装の修正バージョンです:

ヘッダー ファイルbase64.h

#ifndef _BASE64_H_
#define _BASE64_H_

#include <vector>
#include <string>
typedef unsigned char BYTE;

std::string base64_encode(BYTE const* buf, unsigned int bufLen);
std::vector<BYTE> base64_decode(std::string const& encoded_string);

#endif
ログイン後にコピー

ソースファイルbase64.cpp

#include "base64.h"
#include <iostream>

static const std::string base64_chars =
             "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
             "abcdefghijklmnopqrstuvwxyz"
             "0123456789+/";

static inline bool is_base64(BYTE c) {
  return (isalnum(c) || (c == '+') || (c == '/'));
}

std::string base64_encode(BYTE const* buf, unsigned int bufLen) {
  ...  // Encoding implementation
  return ret;
}

std::vector<BYTE> base64_decode(std::string const& encoded_string) {
  ...  // Decoding implementation
  return ret;
}
ログイン後にコピー

使用方法

使用する実装では、base64.h ヘッダーを含めて、 Base64_decode 関数は次のようになります。

std::string encodedData = "encoded_data_as_a_string";
std::vector<BYTE> decodedData = base64_decode(encodedData);
ログイン後にコピー

追加メモ

  • BYTE 型は unsigned char のエイリアスです。
  • エンコーディングとデコード関数は生のバイナリ データと文字列表現を操作します。
  • エンコード関数は、URL セーフな Base64 表現の文字列を生成します。
  • このスニペットは、C での Base64 デコードに必要な機能を提供しますが、他の代替手段や機能もあることに注意してください。特定のニーズにより適したライブラリが利用可能です。

以上がC で Base64 デコードを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート