noneHTTP |
HTTP |
CONNECT |
WebDAV |
WebSocket |
HTTP2 |
AnontherHTTP |
none |
JSON |
XML |
public HttpsProxyStream(Stream oyaStream) public HttpsProxyStream(Stream oyaStream, Byte[] hako, Boolean ByteIsSSL) |
コンストラクタ oyaStream:親ストリーム hako:1バイト目の候補 ByteIsSSL:1バイト目がどれかに一致したらSSL=True public HttpsProxyStream(Stream oyaStream)は、public HttpsProxyStream(Stream oyaStream, new byte[] { 0x47, 0x67, 0x50, 0x70 }, false)と同義 |
public Boolean IsSSL { get; } | 上位が SSL かどうか示す。TrueならこのストリームにSSLStreamを被せる必要がある |
public String Method | HTTPメソッド |
public String Scheme | スキーム |
public String UserName | ユーザ名 |
public String Password | パスワード |
public String rHost | ホスト |
public UInt16 rPort | ポート |
public String Path | パス |
public String QueryString | クエリ文字列 |
public String Protocol | プロトコル(行末の0x0dは含まないようにした) |
public HttpStreamType HttpType | HTTPのタイプ |
public String toString() | リクエストラインを再現できると思う |
public String URL | URLを返す |
public IPEndPoint IPEndPoint | IPEndPoint を返す |
public Encoding GetDefaultEncoding() | 既定の文字コードを取得する |
public static String GetListBroadcastOption(Type iEnum, String ExceptionStr) | 列挙型をリストとして取得、カンマ区切りで返す |
public static String GetListBroadcastOption2(Type iEnum, String ExceptionStr, String Header, int kosu,int tabMode) | 個数ごとに改行と、インデントを入れる iEnum:対象データ ExceptionStr:対象外データ HeaderStr:前方データ kosu:個数 tabMode:タブの個数 |
public static Boolean IsStringNull(String iStr) | 文字列が空文字列、NULLの場合は True |
public static String SubStringEx(String str, int index, int len, int dx) | 文字列の一部を前後に余分の部分も含めて切り取る str:対象文字列 index:最初の位置 len:切り取る長さ dx:±して余分に切り取る長さ |
public static String AddStrimgDerimita(String iStr, String nextStr, String derim) | 文字列結合の際 "derim" のデリミタを入れながら結合する iStr:前方データ nextStr:対象データ derim:間に挟む文字 |
public static IPEndPoint GetIPEndpoint(String iHost, UInt16 iPort) | IPEndpoint を返す。iHostは空文字、0.0.0.0 の場合は ANY) |
public static IPAddress[] GetIPAddress(String str) | IPAddress の配列を返す(引数は、IPv4/v6アドレス、普通のホスト名、国際化ドメイン名) |
public static IPAddress GetIPAddressSingle(String str) | IPAddress を返す(GetIPAddress() の配列の最初の値) |
public static Boolean IsMulticastAddress(String iHost) | マルチキャストかどうかを返す |
public static IPAddress[] GetMyIPAddress() | 自らのインターフェイスにバインドしているIPアドレスを返す |
public static Boolean IsMyIPAddress(String iHost) | 自らのインターフェイスにバインドしているIPアドレスかどうかを返す |
public static void AppendFileFromString(Object LockObj, String fileName, String str) | 文字列をファイルへ追記する |
public static void AppendFileFromByteArray(Object LockObj, String fileName, byte[] hako, int len) | |
public static void AppendFileFromByteArray(Object LockObj, String fileName, byte[] hako) | |
public static int StatusCode(String iStr) | HTTPステータスラインを解析して、ステータスコードを返す(失敗した場合は「-1」を返す) iStr:対象データ |
public static Boolean ExistHeader(String iHeaderName,String iHeaderValue,String iStr) | ヘッダが存在するかどうか(大文字/小文字は無視) iHeaderName:ヘッダ名 iHeaderValue:ヘッダの値 iStr:データ |
public static Boolean DictionaryContainsNoIgnore<Type>(Dictionary<String, Type> dic, ref String keyName) | ディクショナリオブジェクトに大文字/小文字無視でキーの有無を確認する KeyName にはディクショナリ側のキーが返るので注意(大文字/小文字がとっ散らかる可能性) |
public static Dictionary<String, List<String>> SeparateHeader(String[] hako, Boolean MusiLine) | 文字配列/文字列から、HTTP ヘッダとして Dictionary オブジェクトを生成する(空行くるとそこで処理を停止する) hako:文字列の配列(一行ずつ) MusiLine:一行目を無視するかどうか |
public static Dictionary<String, List<String>> SeparateHeader(String str, Boolean MusiLine) | |
public static void SeparateRequestLineAndHttpType(String iStr, ref String Method, ref String Scheme, ref String UserName, ref String Password, ref String rHost, ref UInt16 rPort, ref String Path, ref String QueryString, ref String Protocol,ref HttpStreamType httpStreamType) | HTTPリクエスト・ラインを解析する iStr:対象データ Scheme:スキーム UserName:ユーザ名 Password:パスワード rHost:ホスト rPort:ポート Path:パス QueryString:クエリ文字列 Protocol:プロトコル httpStreamType:HTTPのタイプ |
public static void SeparateRequestLineAndHttpType(String iStr, out HttpRequestLineMeta iHttpRequestLineMeta) | HTTPリクエスト・ラインを解析する iStr:対象データ iHttpRequestLineMeta:返却オブジェクト |
public static void SeparateRequestLineAndHttpType(String iStr, String[] UrlExtention,String[] SessStr,out HttpRequestLineMeta iHttpRequestLineMeta) | HTTPリクエスト・ラインを解析する iStr:対象データ UrlExtention:パス上の文字列で、以降をクエリ文字列にする SessStr:セッションIDとして以降無視してもよい文字列 iHttpRequestLineMeta:返却オブジェクト これは、URI中の ";jsessionid=xxxxxx" を削ったり、"xxx.php/aaa/bbb/ccc/ddd" を "xxx.php?aaa=bbb&ccc=ddd"と見なすように事が可能 |
public static void SeparateRequestLineAndHttpType(String iStr, ref String Method, ref String Scheme, ref String UserName, ref String Password, ref String rHost, ref UInt16 rPort, ref String Path, ref String QueryString, ref String Protocol,ref HttpStreamType httpStreamType, UInt16 defoPort) | HTTPリクエスト・ラインを解析する iStr:対象データ Scheme:スキーム UserName:ユーザ名 Password:パスワード rHost:ホスト rPort:ポート Path:パス QueryString:クエリ文字列 Protocol:プロトコル httpStreamType:HTTPのタイプ defoPort ポート番号が指定されていない時に既定としたい番号があればそれを指定(0はhttp/80とhttps/443) |
public static void SeparateRequestLineAndHttpType(String iStr, out HttpRequestLineMeta iHttpRequestLineMeta, UInt16 defoPort) | HTTPリクエスト・ラインを解析する iStr:対象データ iHttpRequestLineMeta:返却オブジェクト defoPort ポート番号が指定されていない時に既定としたい番号があればそれを指定(0はhttp/80とhttps/443) |
public static void SeparateRequestLineAndHttpType(String iStr, String[] UrlExtention,String[] SessStr,out HttpRequestLineMeta iHttpRequestLineMeta, UInt16 defoPort) | HTTPリクエスト・ラインを解析する iStr:対象データ UrlExtention:パス上の文字列で、以降をクエリ文字列にする SessStr:セッションIDとして以降無視してもよい文字列 iHttpRequestLineMeta:返却オブジェクト defoPort ポート番号が指定されていない時に既定としたい番号があればそれを指定(0はhttp/80とhttps/443) これは、URI中の ";jsessionid=xxxxxx" を削ったり、"xxx.php/aaa/bbb/ccc/ddd" を "xxx.php?aaa=bbb&ccc=ddd"と見なすように事が可能 |
public static void SeparateRequestLineAndHttpTypeWithRequest(String iStr, String[] UrlExtention,String[] SessStr,out HttpRequestLineMeta iHttpRequestLineMeta) | HTTPリクエスト・メッセージを解析する(Host ヘッダでホスト名を補完する) iStr:対象データ UrlExtention:パス上の文字列で、以降をクエリ文字列にする SessStr:セッションIDとして以降無視してもよい文字列 iHttpRequestLineMeta:返却オブジェクト これは、URI中の ";jsessionid=xxxxxx" を削ったり、"xxx.php/aaa/bbb/ccc/ddd" を "xxx.php?aaa=bbb&ccc=ddd"と見なすように事が可能 |
public static void SeparateRequestLineAndHttpTypeWithRequest(String iStr, String[] UrlExtention,String[] SessStr,out HttpRequestLineMeta iHttpRequestLineMeta, UInt16 defoPort) | HTTPリクエスト・メッセージを解析する(Host ヘッダでホスト名を補完する) iStr:対象データ UrlExtention:パス上の文字列で、以降をクエリ文字列にする SessStr:セッションIDとして以降無視してもよい文字列 iHttpRequestLineMeta:返却オブジェクト defoPort ポート番号が指定されていない時に既定としたい番号があればそれを指定(0はhttp/80とhttps/443) これは、URI中の ";jsessionid=xxxxxx" を削ったり、"xxx.php/aaa/bbb/ccc/ddd" を "xxx.php?aaa=bbb&ccc=ddd"と見なすように事が可能 |
public static void SeparateRequestLine(String iStr, ref String Method, ref String Scheme, ref String UserName, ref String Password, ref String rHost, ref UInt16 rPort, ref String Path, ref String QueryString, ref String Protocol) | HTTPリクエスト・ラインを解析する iStr:対象データ Scheme:スキーム UserName:ユーザ名 Password:パスワード rHost:ホスト rPort:ポート Path:パス QueryString:クエリ文字列 Protocol:プロトコル |
public static void SeparateRequestLine(String iStr, ref String Method, ref String Scheme, ref String UserName, ref String Password, ref String rHost, ref UInt16 rPort, ref String Path, ref String QueryString, ref String Protocol, UInt16 defoPort) | HTTPリクエスト・ラインを解析する iStr:対象データ Scheme:スキーム UserName:ユーザ名 Password:パスワード rHost:ホスト rPort:ポート Path:パス QueryString:クエリ文字列 Protocol:プロトコル defoPort ポート番号が指定されていない時に既定としたい番号があればそれを指定(0はhttp/80とhttps/443) |
public static void SeparateUrl(String iStr, ref String Scheme, ref String UserName, ref String Password, ref String rHost, ref UInt16 rPort, ref String Path, ref Dictionary<String, List<String>> QSDictionary, Boolean iMode) | URL を解析する iStr:対象データ Scheme:スキーム UserName:ユーザ名 Password:パスワード rHost:ホスト rPort:ポート Path:パス QSDictionary:クエリ文字列 iMode:モード |
public static void SeparateUrl(String iStr, ref String Scheme, ref String UserName, ref String Password, ref String rHost, ref UInt16 rPort, ref String Path, ref String QueryString) | URL を解析する iStr:対象データ Scheme:スキーム UserName:ユーザ名 Password:パスワード rHost:ホスト rPort:ポート Path:パス QueryString:クエリ文字列 |
public static void SeparateSchemeFromURL(String iUrl, ref String Scheme, ref String ansUrl) | URL のスキームとスキーム後のURL に分割する iUrl:対象データ Scheme:スキーム ansUrl:パス |
public static void SeparateHostFromURL(String iUrl, ref String rHost, ref String ansUrl) | URL のホストとその後ろのURL に分割する iUrl:対象データ rHost:ホスト ansUrl:パス |
public static void SeparatePathQueryFromURL(String iUrl, ref String Path, ref String Query) | URL のパスとクエリに分割する iUrl:対象データ Path:パスユーザ名:パスワード Query:クエリ |
public static void SeparateUserHost(String iStr, ref String Authenticate, ref String rHost) | 「ユーザ名:パスワード」と「ホスト:ポート」を分割する iStr:対象データ Authenticate:ユーザ名:パスワード rHost:ホスト:ポート |
public static void SeparateHostPort(String iStr, ref String rHost, ref String rPort) | 「ホスト:ポート」または「ユーザ名:パスワード」を分割する(つまり「:」で分割する) iStr:対象データ rHost:ホスト/ユーザ名 rPort:ポート/パスワード |
public static void SeparateHostPortIPv6(String iStr, ref String rHost, ref String rPort) | 「ホスト:ポート」または「ユーザ名:パスワード」を分割する(つまり「:」で分割する)(IPv6 対応) iStr:対象データ rHost:ホスト/ユーザ名 rPort:ポート/パスワード |
public static Dictionary<String, List<String>> SplitQueryString(String iStr, Boolean iMode) | クエリストリングを分解してDictionary クラスを返す iStr:対象データ iMode:True : 「name」のみを許可する,False : 「name」のみは許可しない |
public static Dictionary<String, List<String>> SplitQueryString(String iStr, String nameDerim("="), String valueDerim("&"), Boolean iMode) | クエリストリングを分解してDictionary クラスを返す iStr:対象データ iMode:True : 「name」のみを許可する,False : 「name」のみは許可しない |
public static Dictionary<String, List<String>> SplitQueryString(String iStr, String nameDerim("="), String valueDerim("&"), Boolean iMode, Boolean IgnoreCase) | クエリストリングを分解してDictionary クラスを返す iStr:対象データ iMode:True : 「name」のみを許可する,False : 「name」のみは許可しない IgnoreCase : 大/小文字を同一視するかどうか |
public static String[] SplitMIME(String urlEncodedStr, String MimeDerim) | メッセージを MIME として分解し、URLEncodeした文字列として返す。MimeDerim はURLエンコードしていなくてよい |
public static String[] SplitMIME(byte[] hako, String MimeDerim) | |
public static String[] SplitMIME(byte[] hako, int offset, int len, String MimeDerim) | |
public static String[] SplitMIMEnoURLEncoded(String NoUrlEncodedStr, String MimeDerim) | メッセージ(文字列限定のMIME形式)を MIME として分解し、URLEncodeした文字列として返す |
public static void SeparateHeaderBody(String buffer, out String header, out String body) | 文字列を HTTP メッセージと見立てて、ヘッダ(空行含む)とボディを分解する |
public static void SeparateHeaderBody(byte[] buffer, out byte[] header, out byte[] body) | バイト配列を HTTP メッセージと見立てて、ヘッダ(空行含む)とボディを分解する |
public static String SplitNameAndValue(String iStr, ref String name, ref String value, Boolean iMode) | Name=Value の一組を返す。戻り値は、一組以外の残りを返す iStr:対象データ name:名前 value:値 iMode:True : 「name」のみを許可する,False : 「name」のみは許可しない |
public static String SplitNameAndValue(String iStr, String nameDerim("="), String valueDerim("&"), ref String name, ref String value, Boolean iMode) | Name=Value の一組を返す。戻り値は、一組以外の残りを返す iStr:対象データ name:名前 value:値 iMode:True : 「name」のみを許可する,False : 「name」のみは許可しない |
public static void myBunkatsu(String iStr, String Separator, ref String HeaderStr, ref String FooterStr, Boolean EmptyOption) | 文字列を二つに分割して、返す iStr:対象データ Separator:分割文字列 HeaderStr:前方文字列 FooterStr:後方文字列 EmptyOption:true の場合は、セパレータがなければ、前方に寄せる,false の場合は、セパレータがなければ、後方に寄せる TrimArgがNullでなければ Trim する |
public static void myBunkatsu(String iStr, String Separator, ref String HeaderStr, ref String FooterStr, Boolean EmptyOption,Char[] TrimArg) | |
public static Boolean IsMime(String iStr, out String MimeDerim) | MIMEかどうかを返す iStr : HTTPメッセージ MimeDerim : MIMEの場合はデリミタ文字列 |
public static String GetHeader(String iStr) | 文字列からヘッダ部分(空行まで)を抜き出す。出力は、最後に空行を含む文字列 |
public static String GetHeaderAttribute(String iStr, String hName, String hValue, String haName) | HTTPヘッダから、特定のヘッダの特定の値の時の、特定の属性の値を返す(なければ null) iStr : HTTPヘッダ hName : ヘッダの名前 hValue : 値として必要な情報 haName : 属性値の情報 |
public static void GetHeaderAttributeForMIMEPartHeader(String str, out String strName, out String strFileName) | MIME の部分 HTTPヘッダから、名前とファイル名(なければ null)を抜き出す |
public static String GetHeaderValue(String iStr, String hName) | 文字列からヘッダ名で指定された値を返す |
public static String myTrim(String iStr, Char[] TrimArg) | TrimArg が Null でなければ、それで Trim する |
public static String GetSocketString(System.Net.Sockets.TcpClient iTcpClient) | TCP オブジェクトから接続情報を取り出す iTcpClient:対象 |
public static String GetSocketString(System.Net.Sockets.TcpClient iTcpClient, Boolean IsServer) | TCP オブジェクトから接続情報を取り出す iTcpClient:対象、IsServer:True(自分はServer),False(自分はクライアント) |
public static String GetSocketString(System.Net.Sockets.TcpClient iTcpClient, String motoStr, String sakiStr, Boolean IsServer) | TCP オブジェクトから接続情報を取り出す。ホスト名としたい場合は「motoStr/sakiStr」に記述 iTcpClient:対象、IsServer:True(自分はServer),False(自分はクライアント) |
public static String mySplit(String iStr, String Separator, int index) | 文字列を分割して、返す iStr:対象データ Separator:分割文字列 index:xx番目 |
public static void SetSecurePassword(ref System.Security.SecureString iSecureString, ref String iStr) | SecureString へ文字列をセットする iSecureString:SecureString iStr:String |
public static System.Diagnostics.Process SetProcessStartInfo(String iProgramName, String iArguments, String iWorkingDirectory) | 外部プログラム起動用の設定を行う。そして、最後に起動する iProgramName:プログラム名 iArguments:コマンドラインの引数 iWorkingDirectory:一時ディレクトリのパス |
public static Byte[] GetByteArrayFromHexString(String iStr) | 16進数文字列をバイト配列にする。2で割り切れない場合は、最後尾に「0」を追加して1Byteにする iStr:データ |
public static void WriteLog(String ServiceName,String Message, int mode, System.Diagnostics.EventLogEntryType iEventLogEntryType, int id) | ログを出力する Message:メッセージ ServiceName:サービス名 mode:対象(0: コンソール、1:イベントログ) iEventLogEntryType:イベントログタイプ level:識別番号 |
public static UInt32 IsSetNum(String iStr, UInt32 defaultInt) | 文字列を数値に置換する(既定値以下は許さない) iStr:文字列 defaultInt:エラー時の既定値 |
public static UInt32 IsSetNum2(String iStr, UInt32 defaultInt) | 文字列を数値に置換する(0は許さない) iStr:文字列 defaultInt:エラー時の既定値 |
public static Int32 String2Int32(String iStr, Int32 defaultInt) | 文字列をInt32型にする(正負を認める) iStr:文字列 defaultInt:エラー時の既定値 |
public static int MemoryStreamToByteArray(ref MemoryStream mem, byte[] buffer, int offset, int count) | メモリストリームをバイト配列へコピーする mem : メモリーストリーム buffer:バッファ offset:オフセット count:カウント |
public static byte[] MemoryStreamToAllByteArray(ref MemoryStream mem) | メモリストリームをバイト配列へ全部コピーする mem : メモリーストリーム |
public static int CopyByteArray(byte[] sourceBuf, int sourceOffset, int sourceLen, byte[] distBuf, int distOffset, int distLen) | バイト配列をコピーする(バッファサイズなどはチェック済とするのでこちらではチェックしない) sourceBuf:バッファ(ソース) sourceOffset:オフセット(ソース) sourceLen:長さ(ソース) distBuf:バッファ(ソース) distOffset:オフセット(ソース) distLen:長さ(ソース) |
public static byte[] MemAlloc(int size) | バイト配列をゼロで初期化しつつ作成する size:配列のサイズ長さ |
public static int MemInit(byte[] hako) | バイト配列をゼロで初期化しつつ、無駄な値を出力する |
public static byte[] HostNameString2Byte(String iStr) | 国際化対応のホスト名を(PunnyCode変換してから)バイト配列にする |
public static String HostNameString2String(String iStr) | 国際化対応のホスト名を(PunnyCode変換してから)バイト配列にする |
public static String AddDotHostameToFQDN(String hostname) | 空文字でなければ、小文字にして最後が「.」でないと「.」を付ける |
public static byte[] File2AllByteArray(String fileName) | ファイル内容を読み込んでバイト配列に取り込む |
public static byte[] ByteArrayIsNull(byte[] buffer) | バイト配列が NULL または 0個の配列なら NULL を返す |
public static Boolean ReadHeaderFromStream(ref Stream stream,out byte[] hako) | 空行まで読み取る(つまりヘッダだけ読み取る)。ストリームの終端まで読み込んでしまったらTrueを返す |
public static Boolean ReadHeaderFromStreamIgnoreSpaceLine(ref Stream stream,out byte[] hako) | 空行まで読み取る(つまりヘッダだけ読み取る)(ただし最初の空行は無視)。ストリームの終端まで読み込んでしまったらTrueを返す |
public static Boolean ReadLineFromStream(ref Stream stream,out byte[] hako) | Lf まで読み取る。ストリームの終端まで読み込んでしまったらTrueを返す |
public static Boolean ReadLineFromStreamIgnoreSpaceLine(ref Stream stream,out byte[] hako) | Lf まで読み取る。ただし空行は無視する。ストリームの終端まで読み込んでしまったらTrueを返す |
public static Boolean ReadToMarkFromStream(ref Stream stream, byte b,out byte[] hako) | マークが示すバイトが見つかるまで読み取る。ストリームの終端まで読み込んでしまったらTrueを返す |
public static Byte[] Base16ExDecode(String str) public static Byte[] Base16ExDecode(String str, Char c) public static Byte[] Base16ExDecode(String str, Char[] cHako) |
変則的な Base16をデコードする |
public static String Base16ExEncode(Byte[] hako) public static String Base16ExEncode(Byte[] hako, Char c) public static String Base16ExEncode(Byte[] hako, Char[] cHako) |
変則的な Base16をエンコードする Base16ExEncode(Byte[] hako, new Char[]{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'})が、普通の Base16 |
public static String AddCannma(String source) | 3桁ずつカンマを挿入する String source : 対象文字列 |
public static String StringRight(String source, int len, char spaceChar) | 対象文字列を右詰めで出力する String source : 対象文字列 int len : 出力する文字列長 char spaceChar : 左に詰める文字 |
public static int CreateCodePointFromCharArray(char[] hako, int index, out UInt32 codePoint) | Char 配列から、1文字(サロゲートペアなら2文字)取り出して、コードポイントを out に返す(使った文字数をリターン) char[] hako : 対象文字配列 int index :配列での位置 out UInt32 codePoint : 出力されるコードポイント 返値 : 使用したCharの個数 |
public static Char[] CreateCharFromCodePoint(UInt32 codepoint) | UNICODE コードポイントから文字(サロゲートペアもあるので、Char[] 配列)を出力する UInt32 codePoint : UNICODE コードポイント |
public static String JISKANJI1 | 第一水準漢字一覧を返す |
public static String JISKANJI2 | 第二水準漢字一覧を返す |
public static String JISantiKANJI1 | 漢字以外を返す |
public static String JISHIRAGANA | 平仮名を返す |
public static String JISKATAKANA | カタカナを返す |
public static String JISOOMOJI | 英大文字を返す |
public static String JISKOMOJI | 英小文字を返す |
public static String JISNUMERIC | 数字を返す |
public static String JISSYMBOL | 半角記号を返す |
public static String JISYankyBase | ヤンキー50音文字を示す |
public static String JISHIRAGANABase | ヤンキー50音文字に対応した全角ひらがなの50音 |
public static String HiraToYanky(String iStr) | 全角ひらがなをヤンキー50音文字に置換する |
public static String YankyToHira(String iStr) | ヤンキー50音文字を全角ひらがなに置換する |
public static String Yanky2Hira(String iStr,String moto,String saki) | 対象文字列「iStr」内の対象文字リスト「moto」を一文字ずつ置換文字リスト「saki」に置換する |
public static String ReplaceOnce(String iStr, String searchStr, String replaceStr, int offset) | 一度だけ置換する(VisualBASICの関数を使う) iStr : 対象文字列 searchStr : 検索文字列 replaceStr : 置換文字列 offset : オフセット(開始位置) |
public static String CreateXMLElement(String name, String value) | value だけ HTMLEncode して、「<name>value</name>」という文字列を返す |
public static String SQLEscape(String iStr, Boolean IsBSla, String escapeChar) | SQL エスケープを実施する iStr : 対象文字列 IsBSla : バックスラッシュをエスケープするかどうか escapeChar : 正規表現(「_」と「%」のエスケープ文字) |
public StringType CalculateStringFormat(String sourceStr, Encoding encoding, out Boolean IsUrlEncoded) | 文書の形式(JSON/XML/その他)を判断する |
public Boolean IsContentTypeJson(String headerStr) | Content-TypeがJSONかどうか |
public Boolean IsContentTypeXml(String headerStr) | Content-TypeがXMLかどうか |
public static String EasyURLEncode(String iStr) | 最低限の URL エンコードを実施する 対象文字:「%20」「=」「&」「\n」「\r」「\t」「%2b」 |
public static String EasyURLDecode(String iStr, Char c) | 一文字だけ URL デコードする。「IsTargerPersentChar=true」の場合は「%25」→「%」も実施する |
public static String EasyURLDecode(String iStr, Char c, Boolean IsTargerPersentChar) | |
public static Char[] NeedLessCharHako(Char[] hako) | データ処理時に大抵は、不要な文字の配列を返す 対象文字:「スペース」「\r」「\n」「\t」。引数には追加分 |
public static int IndexOfSpaceLine(String iStr, int st, out int BingoLen) | 空行までの位置(「\n\n」または「\r\n\r\n」の近い方を探す。なければ「-1」) iStr : 対象文字列 st : スタート位置 BingoLen : 一番近いやつの文字列長 |
public static int IndexOfChars(String iStr,int st,String[] hako,out int BingoLen) | いくつかの文字列の位置を調べて、一番近いやつの位置を返す(全部見つからなければ-1を返す) iStr : 対象文字列 st : スタート位置 hako : 対象文字列の配列 BingoLen : 一番近いやつの文字列長 |
public enum TimeEnum | TimeEnum.Years TimeEnum.Months TimeEnum.Days TimeEnum.Hours TimeEnum.Minutes TimeEnum.Seconds TimeEnum.MilliSeconds |
public static int IntervalTime(DateTime from, DateTime to,TimeEnum iType) | 時間差を計算する |
public static String UnixTimeToDateString(UInt64 i,Boolean IsUTC) | UNIXtime を「YYYY/MM/DD hh:mm:ss」の文字列にして返す |
public static String DateString(DateTime dt) | DateTime 型を文字列に出力する |
public static List<String> CreateListStringFromCSV(String iStr) | CSV 形式の文字列を List オブジェクトにする |
public static String EscapeCSV(String iStr) | CSV 形式のカラムに合うようにエスケープ(「"」→「""」,「改行コード」→「\r(0x0d)」)して、全体を「"」で囲みます。 |
public static String StringFromDPAPI(String EncrptedBase64Text, String entropy) public static String StringFromDPAPI(String EncrptedBase64Text, byte[] entropy) |
DPAPIを使って、Base64化された暗号文を元に戻す |
public static String StringToDPAPI(String plainText, String entropy) public static String StringToDPAPI(String plainText, byte[] entropy) |
DPAPIを使って、平文をBase64化された暗号文にする |
public static byte[] CreateEntropy(int len) | ランダムなバイト配列を作成する |
public static Boolean IsBSON(String str) public static Boolean IsBSON(String str, Encoding e) |
URLエンコードされた文字列がBSONかどうか簡易的に判定する
|
public static Boolean IsBSON(Byte[] hako) | バイト配列がBSONかどうか簡易的に判定する
|
public static void JsonZone(Char[] cHako, ref Int64 startIndex, ref Int64 length) | 文字列から JSON 形式の範囲を返す({〜} または [〜]。中身に"〜" (\エスケープ有) ) JSON 形式の Valid 性は見ていない cHako ; 文字列 startIndex ; 開始位置を入れる。開始位置を返す(-1 の場合、JSON 形式はない) length ; 長さ(-1の場合、最後までが範囲) (-1の場合、JSON 形式が途切れた) |
public static Boolean IsSameByteArray(Byte[] hako1, Byte[] hako2, Boolean IsHash) | Byte配列同士が同一かどうか比較する。IsHashがTrueの場合、MD5を取って比較する。Falseの場合は長さが一致したら同一と判断する |
public const int LenPerLine = 76 | 1行あたりの文字数 |
public static Boolean IsNet45OrNewer() | .NET Framework のバージョン「4.0(false)」と「4.5(true)」を区別する |
public static String ReplaceDot(String) | Hiden Dot Algorithm エスケープを実施する |
public static Boolean IsAscii(String) | 入力文字列が全て ASCII 文字なら True |
public static Regex IsAsciiRegex | 入力文字列が全て ASCII 文字かどうかの正規表現(^[0-9a-z\\(){}<>\[\]!\"'#$%&\-+/_=^~*,.`@]+$) |
public static String SplitCrLf(String iStr) | ヘッダなど改行が不要なものに対して改行を消去する |
public static List<String> SepalateStringMaxLen(String, int) | 入力文字列を最大文字数を制限として分解する 第一引数: 対象文字列 第二引数: 最大文字数 |
public static String CreateMIMEString(String iStr, String iCharSet, bool EncodeMode) | 入力文字列を題名として適切なように MIME エンコードする(ASCII文字だけなら特に何もしない) 第一引数: 対象文字列 第二引数: 文字コード 第三引数: True:Base64, False:Quoted-Printable |
public static String CreateMIMEStringWrap(String, String, bool, int) | 入力文字列を題名として適切なように MIME エンコードする(適切なサイズに継続行(半角スペースをデリミタとしている)を施しながら) 第一引数: 対象文字列 第二引数: 文字コード 第三引数: True:Base64, False:Quoted-Printable 第四引数: 文字数/行(大抵は76) |
public static String CreateMIMEStringWrap(String, String, bool) | 入力文字列を題名として適切なように MIME エンコードする(76文字ずつに継続行(半角スペースをデリミタとしている)を施しながら) 第一引数: 対象文字列 第二引数: 文字コード 第三引数: True:Base64, False:Quoted-Printable |
public static String SetMailMessage(MailMessage, String, Encoding, String, Encoding,int) | MailMessage の題名と本文を設定する 第一引数: 対象 第二引数: 題名 第三引数: 題名の文字コード 第四引数: 本文 第五引数: 本文の文字コード 第六引数: モード(-1:自動判別{OldStyle[.NET4.5の時"mode=3"]})、0:自動判別[.NET4.5の時"mode=4"]、1:.NET2.0、2:.NET4.0、3:.NET4.5(OldStyle)、4:.NET4.5(UTF8の新スタイル) |
public MailAddress FromAddress | 送信元メールアドレス |
public MailAddress SenderAddress | 送信者のメールアドレス |
public MailAddressCollection ReplyToAddresses | 返信先のメールアドレスリスト |
public MailAddressCollection ToAddresses | 宛先のメールアドレスリスト |
public MailAddressCollection CcAddresses | CC メールアドレスリスト |
public MailAddressCollection BccAddresses | BCC メールアドレスリスト |
public void SetMailAddressToMailMessage(MailMessage) | MailMessageオブジェクトの各プロパティに保持しているメールアドレスをコピーする(.NET2.0のため ReplayTo は最初のアドレスだけ) |
public static void MailListCopy(MailAddressCollection, MailAddressCollection) | 第一引数のメールアドレスコレクションを第二引数のメールアドスレコレクションに重複しないようにコピーする |
public void SetFromAddress(String) | 送信元メールアドレスをセットする |
public void SetSenderAddress(String) | 送信者のメールアドレスをセットする |
public void SetReplyToAddress(String) | 返信先のメールアドレスリストをセットする |
public void SetReplyToAddressFromFile(String) | ファイルから返信先のメールアドレスリストをセットする |
public void SetToAddress(String) | 宛先のメールアドレスリストをセットする |
public void SetToAddressFromFile(String) | ファイルから宛先のメールアドレスリストをセットする |
public void SetCcAddress(String) | CCメールアドレスリストをセットする |
public void SetCcAddressFromFile(String) | ファイルからCCメールアドレスリストをセットする |
public void SetBccAddress(String) | BCCメールアドレスリストをセットする |
public void SetBccAddressFromFile(String) | ファイルからBCCメールアドレスリストをセットする |
public static MailAddress GetMailAddress(String) | 文字列をメールアドレスオブジェクトにして返す |
public static String regOn = "on" | |
public static String regOff = "off" | |
public static Boolean StringToBoolForCheckBox(String iStr) | チェックボックスコントロール用のBool値(checkedプロパティ)を文字列から取得する |
public static String BoolToStringForCheckBox(Boolean iBool) | チェックボックスコントロール用のBool値(checkedプロパティ)を文字列にする |
public static String GetRegValue(RegistryKey iKey, String ValueName) | レジストリから文字列型として抜き出す |
public static XmlElement GetKeysFromRegistry(RegistryKey iRegistryKey,XmlDocument iXmlDocument) | レジストリを読み取りXMLオブジェクトを出力する |
public static XmlDocument GetSettingFromRegistry(String baseRegKeyPath, String RegKeyName) | レジストリからデータを取り出し、XML形式として返す |
public static void SettingSaveToRegistry(XmlNode iXmlNode, String regPath) | レジストリに設定を保存する XmlNode.NameはXmlConvert.DecodeNameを内部で実施する |
public static void SettingSaveToRegistry(XmlNode iXmlNode, RegistryKey iKey, String KeyName) | レジストリに設定を保存する(開いているレジストリキーと、キー名(XMLオブジェクトの位置)は、ひとつずれているよ) XmlNode.NameはXmlConvert.DecodeNameを内部で実施する |
public static void DeleteRegistry(String regPath, String KeyName) | レジストリを削除する |
public static void AppendChild(XmlDocument obj, ref XmlElement OyaXmlElement, String iName, CheckBox iCheckBox) public static void AppendChild(XmlDocument obj, ref XmlElement OyaXmlElement, String iName, Boolean iBool) public static void AppendChild(XmlDocument obj, ref XmlElement OyaXmlElement, String iName, String iValue) public static void AppendChild(XmlDocument obj, ref XmlElement OyaXmlElement, String iName, String iValue,Boolean IsXML) |
親のエレメントに追加していく IsXML : コントロールから取得したデータをXML形式とみなすかどうか |
public static XmlElement CreateXMLFromList(String name, System.Collections.IList iList, XmlDocument iXmlDocument, Boolean IsXML) | iList リストボックスから取得したリストを name のキーを作って、iXmlDocument 配下に作成する |
public static XmlElement CreateXMLFromCheckedList(String name, CheckedListBox icListBox, XmlDocument iXmlDocument, Boolean IsXML, String CheckedName) | チェックリストボックスから取得したリストを name のキーを作って、iXmlDocument 配下に作成する(チェックの有無は CheckedName で指定された値) |
public static String myXmlEscape(String CheckedName, Boolean NormalEscape) | XML1.0の有効な範囲外の文字はUnicodeコードポイントを数値実体参照にして、あとはタグなどをエスケープする関数。 NormalEscapeがFalseの場合はタグ文字などの通常のエスケープは実施しない(数値実体参照エスケープだけ実施する) |
public static String UnicodeEscape(Char[] cHako, Boolean UseSurrogatePair, String Header, String Fotter, Boolean IsHex, int ZeroKeta) | Char配列をUnicodeコードポイントで符号化する。UseSurrogatePairはサロゲートペアを優先するかどうか。HeaderとFotterはヘッダとフッタとなる文字列。 IsHexは16進数か10進数か。ZeroKetaは上位桁に零を必要とする桁数。 |
public static String UnicodeCodePoint(UInt32 codePoint, String Header, String Fotter, Boolean IsHex, int ZeroKeta) | Uint32をUnicodeコードポイントとして符号化する。HeaderとFotterはヘッダとフッタとなる文字列。 IsHexは16進数か10進数か。ZeroKetaは上位桁に零を必要とする桁数。 |
equal | 一致しなければならない |
moreThan | 最小値とする |
lessThan | 最大値とする |
public static int CalculateKeySize(int KeyLen, int[] ByteLenHako, KeySizeCalculateConditionType mode) | キーのサイズにピッタリ収まるようにバイト配列のサイズを計算する KeyLen:元の長さ ByteLenHako : 小さい順に並んだ鍵の長さ(バイト) mode : リストに対しての条件 |
public static byte[] GetKeyByteHako(byte[] key, int[] ByteLenHako, KeySizeCalculateConditionType mode) | 鍵サイズに合わせて返す(3DES の鍵(16/24Byte)を返す) key : 元になる鍵 ByteLenHako : 小さい順に並んだ鍵の長さ(バイト) mode : リストに対しての条件 |
public static byte[] GetKeyHako(byte[] hako, int ByteLen) | キーのサイズにピッタリ収まるようにバイト配列を出力する hako : 元になるデータ ByteLen : バイトサイズ |
public static byte[] GetKeyReguByteHako(byte[] hako, uint size) | size倍になるようにバイト配列を作成する key : 元になるデータ size : n倍 |
public static int[] CalculateKeySize(KeySizes[]) | SymmetricAlgorithm オブジェクトの KeySizes 配列を第一引数として、有効な鍵のサイズの配列を作成する(.NET 標準のICryptoTransform) |
public static PasswordAlgorithmType PasswordModeAlgorithmCode(String) | パスワードハッシュ方式名から、パスワードハッシュ方式モードを返す |
public static String FixEnumName(String) | 列挙型として適切な大文字/小文字をあわせた文字列を返す |
public enum PasswordAlgorithmType | パスワードとして乱数化できるアルゴリズムに関して none, PBKDF1, // PasswordDeriveBytes PBKDF2 // RFC2898,Rfc2898DeriveBytes |
public enum PasswordAlgorithmType | パスワードとして乱数化できるアルゴリズムに関して none, PBKDF1, // PasswordDeriveBytes PBKDF2 // RFC2898,Rfc2898DeriveBytes |
public void SetSecretHex(String iStr) public void SetSecret(byte[] hako) |
シークレットをセットする |
public byte[] GetSecret() | シークレットを取得する |
public int Length() | シークレットの長さ取得する |
参照カウンタを内蔵して、Add() 時は常にシングルスレッドとなるようにしている | |
---|---|
protected IList<Object> List | リスト・オブジェクト |
protected virtual void init() | 初期化、子クラスで上書きしても良い |
public Object Select(int mode, Object obj) | 参照したり削除したり、更新したりする(mode=0以下:参照、1:初期化、2:追記.....) obj は対象のオブジェクト |
protected abstract void Add(int mode, Object obj); | 追加、削除するメソッドは子クラスで実装する(mode=2以上) obj は対象のオブジェクト |
obj は対象のオブジェクト SelectMain2(0, Obj) へリダイレクトする |
|
protected abstract Object SelectMain2(int mode, Object Obj); | (mode は 0 以下)参照するメソッドは子クラスで実装する obj は対象のオブジェクト |
public static String GACPathWithEnvironment(String name, String enviromnemtName) | アセンブリ名と、インストール先ディレクトリを格納した環境変数を引数にして、DLLパスを取得する |
public static Assembly GACPathLoadAssembly(String name) public static String GACPath(String name) |
アセンブリ名(例えば"IronPython")を指定してDLLパス、またはアセンブリオブジェクトを取得する |
public static String GACPathWithDirectoryPath(String name, String[] directoryPathHako) | アセンブリ名と、インストール先ディレクトリの候補となるパスの配列を引数にして、DLLパスを取得する |
public static String GetGACPath(String name, DirectoryInfo directoryInfo) | ディレクトリ直下に引数のアセンブリ名のディレクトリがあるという想定で、探索する |
public static String GetDLLPath(String name, DirectoryInfo directoryInfo) | ディレクトリ直下を再帰的に「アセンブリ名.dll」というファイル・パスを探索する |
public static PrivateRegexEx Create(String str, Boolean iIsIgnoreCase, Boolean iIsRegex, Boolean iIsMatchBool) | PrivateRegexExオブジェクトを生成する。strが空文字列の場合、nullを返す |
public Boolean IsMatchBool { get; set; } | マッチしたのだけど、最終的にTrueなのか、Falseなのか |
public new Boolean IsMatch(String str) | マッチするかどうか、最終的にTrueかどうか・・・ |