| - | SetHeadChar() | SetFootChar() | SetRadixMode() | SetMode() |
|---|---|---|---|---|
| URL エンコード | % | 無 | 0 | 0 |
| HEX エンコード | (半角スペース) | 無 | 0 | 1 |
| Quoted-printable | = | 無 | 0 | 1 |
| LDAP サーチフィルタエスケープ | \ | 無 | 0 | 1 |
| 16進数値実体参照 | &#x | ; | 0 | 1 |
| 10進数値実体参照 | &# | ; | 2 or 3 or 4 | 1 |
| UNICODE エスケープ (encodeBin() 関数に対して UNICODE で入力データを渡す) |
\u or u+ | 無 | 1 | 1 |
| sCOMURLEncode.HexCoding |
| 内容 |
16/10 進変換時のヘッダ文字(列)を設定します。 デフォルトは、NULL なので、Hex エンコーディングになります。 「%」を指定すれば、以降の処理は URL エンコーディングになり、 「=」を指定すれば、以降の処理は Quoted-printable エンコーディングになる。 「\」を指定すれば、以降の処理は LDAP サーチフィルタ・エスケープになる。 「&#」を指定すれば、以降の処理は 10進数の数値実体参照になる。 「&#x」を指定すれば、以降の処理は 16進数の数値実体参照になる。 |
| 引数 | 16/10 進変換時のヘッダ文字(列) |
| 戻り値 | なし |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 |
16/10 進変換時のフッタ文字(列)を設定します。 デフォルトは、NULL なので、Hex エンコーディングになります。 「;」を指定すれば、数値実体参照のフッタ文字になる。 |
| 引数 | 16/10 進変換時のフッタ文字(列) |
| 戻り値 | なし |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 | 進数の決定をする |
| 引数 | 進数の決定 0 : 16進数(2桁固定) 1 : 16進数(4桁固定[2Byte]) 2 : 10進数(4桁固定) 3 : 10進数(3桁固定) 4 : 10進数(非固定) |
| 戻り値 | なし |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 |
半角スペースを変換するとして、「+」に変換するか、16進変換を行うか。 デフォルトは、「1」 |
| 引数 | 0 : 「+」に変換する 1 : 16 進変換をする |
| 戻り値 | なし |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 |
16 進変換をしないバイト列を文字(列)で指定する。 デフォルトはヌル文字(列) つまり、総てのデータを 16 進変換を行う。 ver1.0.0.4 で修正したバグ対策より「0x00」は指定できません。 内部的には文字列として扱っているため、途中に「0x00」がある場合、そこまでのデータを用いることになっています。 |
| 引数 | 16 進変換を行わない文字列 |
| 戻り値 | なし |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 |
16 進変換(エンコード)を行う。 |
| 引数 | エンコード対象の文字列 EncodeBin() の場合は、文字列という制限はない |
| 戻り値 | エンコードされた文字列 |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 |
16 進変換(デコード)を行う。 |
| 引数 | デコード対象の文字列 |
| 戻り値 | デコードされた文字列 DecodeBin() の場合は、文字列とは限らない |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 |
英大文字/英小文字/数字を返す |
| 引数 | なし |
| 戻り値 | 英大文字/英小文字/数字を返す。 つまり、 「abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789」が返る |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 まず、返る事はないだろう |
| 内容 |
入力ファイルからデータを読み取り、エンコード/デコードを行い結果を出力ファイルに出力する。 |
| 引数 |
入力ファイル : 入力ファイル名(絶対パスが無難) 出力ファイル : 出力ファイル名(絶対パスが無難) モード : 0 : エンコード 1 : デコード |
| 戻り値 | なし |
| IsError 値 | |
| 成功 | 0 |
| 失敗 | 負数 |
| 内容 | 入力データの 2byte ごとに半角スペースを挿入して、一行が第二引数分になったら、Cr+Lf を挿入した文字列を戻す。 |
| 引数 |
(第一引数) : 入力データ : VARIANT 型で文字列を想定 (第二引数) : 一行のサイズ(指定しない場合は「49」が指定されたものとなる) |
| 戻り値 | 整形された文字列 |
| IsError 値 | |
| 成功 | 0 以上の整形後のデータサイズ |
| 失敗 | 負数 |
| 内容 | 直前のメソッドが成功したかどうか。 |
| 引数 | なし |
| 戻り値 |
直前のメソッドが成功したかどうか 下記のエラー一覧を参照 |
| #include "sURLEncode.h" |
| メソッド一覧 |
|---|
| signed long Encode(unsigned char *,unsigned long,short,unsigned char *,unsigned char *) |
|
メイン処理は、EncodeEx() に引き継がれた 第一引数のメモリポインタから、第二引数で指定したサイズ分をエンコードする。 処理結果は、CSURLEncode 内の myMemOut ポインタが指すメモリ領域にコピーされる。 第三引数は半角スペースの変換モードです。 変換するとして、
第五引数は、16 進変換の前に付与する文字(列)(終端コードは「\0」)
|
| signed long EncodeEx(unsigned char *,unsigned long,short,unsigned char *,unsigned char *,unsigned char *,short) |
| Encode() と変わらないが、最後の二つ目の char がフッタ文字列。 最後のshort は
|
| signed long Decode(unsigned char *,short mode,unsigned char *) |
|
メイン処理は、DecodeEx() に引き継がれた 第一引数の指すポインタ(終端コードは「\0」)を デコードする。 第二引数は半角スペースの変換モードです。 変換するとして、
|
| signed long DecodeEx(unsigned char *,short mode,unsigned char *,unsigned char *,short) |
| 新設の最後の二つの引数の説明は、EncodeEx() と同じ |
| signed long FileEncode(unsigned char *,unsigned char *,short,short,unsigned char *,unsigned char *) |
|
第一引数が指定するファイル名(終端コードは「\0」で絶対パスが無難)からデータを入力して、エンコード/デコード処理をする。 処理結果は、第二引数が指定するファイル名(終端コードは「\0」で絶対パスが無難)に出力する。 第三引数は、コーディングモードで、
第四引数は、半角スペースの変換モード、または「+」のデコード・モードです。 変換するとして、
第六引数は、16 進変換時に付与する文字列を指定する。 負数 : 何がしかのエラー |
| signed long FileEncodeEx(unsigned char *,unsigned char *,short,short,unsigned char *,unsigned char *,unsigned char *,short) |
| 新設の最後の二つの引数の説明は、EncodeEx() と同じ |
| unsigned char *GetMyMemOut(void) |
| CSURLEncode クラス内の myMemOut ポインタを渡す。 |
| unsigned char *CSURLEncode::GetChars(void) |
| 英大文字/英小文字/数字の文字配列の先頭ポインタを返す。 |
| signed long PlasticHexData(unsigned char*,unsigned long,unsigned char**) |
|
入力データの 2byte ごとに半角スペースを挿入して、一行が第二引数分になったら、Cr+Lf を挿入した文字列を戻す。 第一引数には、文字列(配列の最後は「\0」)を想定している。 整形された文字列は、第三引数に返る。 戻り値は、0 以上の整形されたデータのサイズ(正常終了)、 エラー時は、負数が返る。 |
| エラー一覧 sCOMURLEncode.dll,sURLEncode.dll 共通 |
|
|---|---|
| 0 以上 | 正常終了 |
| -1 | 予期しないエラーです |
| -2 | メモリが確保できませんでした |
| -3 | ファイルがオープンできません (ファイル読み込みエラー) |
| -4 | ファイル内容が読み込めませんでした (ファイル読み込みエラー) |
| -5 | ファイルがオープンできません (ファイル書き込みエラー) |
| -6 | ファイルが書き込めませんでした (ファイル書き込みエラー) |
| -7 | 引数の指定が間違っています |
| -100 | デコードすべき文字列が 4 の倍数ではない (BASE64 化された文字列の長さは、4 の倍数です) |
| -101 | BASE64 デコードでは正しくない文字列である |
| -200 | キーがセットされていない セットするキーが空文字はダメです |
| -201 | 引数で指定された先にデータがありませんでした |
| -202 | BlowFish 解読時のエラーです |
| -300 | データサイズが 0 である |