/// <summary>指定された文字列が、SJIS文字のみで構成されているかどうか確認する。</summary> /// <param name="input">入力文字列</param> /// <returns> /// true:SJIS文字のみで構成されている。 /// false:SJIS文字のみで構成されていない。 /// </returns> /// <remarks> /// SJISエンコーディングの可逆チェックを使用して判定する。 /// 空文字列が指定された場合は、trueが返ります。 /// </remarks> public static bool IsShift_Jis(string input) { // 空文字列が指定された場合は、true if (input == "") { return(true); } // 可逆性チェック byte[] sjisData = CustomEncode.StringToByte(input, CustomEncode.shift_jis); if (input == CustomEncode.ByteToString(sjisData, CustomEncode.shift_jis)) { // 可逆性、有り = SJISである。 return(true); } else { // 可逆性、無し = SJISでない。 return(false); } }
/// <summary> /// 指定された文字列が、 /// ・当該コードページのみで構成されており /// ・可逆エンコード可能かどうか? /// を確認する。 /// </summary> /// <param name="input"> /// 入力文字列 /// </param> /// <param name="codePageNum"> /// エンコーディングに使用するコードページ /// </param> /// <returns> /// true:当該コードページの可逆エンコードな文字で構成されている。 /// false:当該コードページの可逆エンコードな文字で構成されていない。 /// </returns> /// <remarks> /// 指定コードページのエンコーディング /// を使用した可逆チェックを使用して判定する。 /// 空文字列が指定された場合は、trueが返ります。 /// </remarks> public static bool IsInCodePage(string input, int codePageNum) { // 空文字列が指定された場合は、true if (input == "") { return(true); } // 可逆性チェック byte[] byteData = CustomEncode.StringToByte(input, codePageNum); if (input == CustomEncode.ByteToString(byteData, codePageNum)) { // 可逆性、有り = 指定コードページの文字である。 return(true); } else { // 可逆性、無し = 指定コードページの文字でない。 return(false); } }