public string encode(string text) { CLAUZ clauz = new CLAUZ(); ArrayList al = new ArrayList(); foreach (char c in text) { CharClass ccNew = clauz.cc; if (c < 0x100) { ccNew = CharClass.ansi; } else { ccNew = CharClass.iso2022jp; } if (clauz.cc != ccNew) { al.Add(clauz); clauz = new CLAUZ(); clauz.cc = ccNew; } clauz.text += c; } al.Add(clauz); Encoding enc = Encoding.GetEncoding("iso-2022-jp"); string res = ""; foreach (CLAUZ cl in al) { switch (cl.cc) { case CharClass.ansi: res += cl.text; break; case CharClass.iso2022jp: res += "=?ISO-2022-JP?B?" + Convert.ToBase64String(enc.GetBytes(cl.text)) + "?="; break; } } return(res); }
public string encode(string text) { CLAUZ clauz = new CLAUZ(); ArrayList al = new ArrayList(); foreach (char c in text) { CharClass ccNew = clauz.cc; if (c < 0x100) { ccNew = CharClass.ansi; } else { ccNew = CharClass.iso2022jp; } if (clauz.cc != ccNew) { al.Add(clauz); clauz = new CLAUZ(); clauz.cc = ccNew; } clauz.text += c; } al.Add(clauz); Encoding enc = Encoding.GetEncoding("iso-2022-jp"); string res = ""; foreach (CLAUZ cl in al) { switch (cl.cc) { case CharClass.ansi: res += cl.text; break; case CharClass.iso2022jp: res += "=?ISO-2022-JP?B?" + Convert.ToBase64String(enc.GetBytes(cl.text)) + "?="; break; } } return res; }