public static void VerifyUtf32Encoding(UTF32Encoding encoding, bool bigEndian, bool byteOrderMark, bool throwOnInvalidBytes) { if (byteOrderMark) { if (bigEndian) { Assert.Equal(new byte[] { 0, 0, 254, 255 }, encoding.GetPreamble()); } else { Assert.Equal(new byte[] { 255, 254, 0, 0 }, encoding.GetPreamble()); } } else { Assert.Empty(encoding.GetPreamble()); } if (throwOnInvalidBytes) { Assert.Equal(EncoderFallback.ExceptionFallback, encoding.EncoderFallback); Assert.Equal(DecoderFallback.ExceptionFallback, encoding.DecoderFallback); } else { Assert.Equal(new EncoderReplacementFallback("\uFFFD"), encoding.EncoderFallback); Assert.Equal(new DecoderReplacementFallback("\uFFFD"), encoding.DecoderFallback); } }
public void Ctor_Bool_Bool(bool bigEndian, bool byteOrderMark) { UTF32Encoding encoding = new UTF32Encoding(bigEndian, byteOrderMark); VerifyUtf32Encoding(encoding, bigEndian, byteOrderMark, throwOnInvalidBytes: false); Ctor_Bool_Bool_Bool(bigEndian, byteOrderMark, throwOnInvalidBytes: true); Ctor_Bool_Bool_Bool(bigEndian, byteOrderMark, throwOnInvalidBytes: false); }
public BfsBinaryReader(BinaryReader binaryReader, Endianness fileEndianness) { reader = binaryReader; FileEndianness = fileEndianness; asciienc = new ASCIIEncoding(); utf7enc = new UTF7Encoding(); utf32enc = new UTF32Encoding(); }
public static string Mahoa(string chuoi) { UTF32Encoding u = new UTF32Encoding(); byte[] b = u.GetBytes(chuoi); MD5 s = new MD5CryptoServiceProvider(); byte[] kq = s.ComputeHash(b); return Convert.ToBase64String(kq); }
private static int getUnicodeCode(char character) { UTF32Encoding encoding = new UTF32Encoding(); byte[] bytes = encoding.GetBytes(character.ToString().ToCharArray()); //return BitConverter.ToInt32(bytes, 0).ToString("X"); return BitConverter.ToInt32(bytes, 0); }
public void IsSingleByte(UTF32Encoding encoding, string _) { Assert.False(encoding.IsSingleByte); }
public void EncodingName(UTF32Encoding encoding, string _) { Assert.NotEmpty(encoding.EncodingName); // Unicode (UTF-32) in en-US }
public void Ctor_Bool_Bool_Bool(bool bigEndian, bool byteOrderMark, bool throwOnInvalidBytes) { UTF32Encoding encoding = new UTF32Encoding(bigEndian, byteOrderMark, throwOnInvalidBytes); VerifyUtf32Encoding(encoding, bigEndian, byteOrderMark, throwOnInvalidBytes); }
public void Equals(UTF32Encoding encoding, object value, bool expected) { Assert.Equal(expected, encoding.Equals(value)); Assert.Equal(expected, encoding.GetHashCode().Equals(value?.GetHashCode())); }
public void EncodingName(UTF32Encoding encoding, string description) { _ = description; Assert.NotEmpty(encoding.EncodingName); // Unicode (UTF-32) in en-US }
public LoginController() { parentSpace = "/api/login"; dbhandler = new DBLoginHandler(ConfigurationManager.AppSettings.Get("ConectionDBString")); Get["", true] = async(parameters, ct) => { //Default PageInfo pageInfo = new PageInfo(); pageInfo.langcode = "ko_KR"; pageInfo.langfile = string.Format("/js/lang/ko_KR.js"); return(View["public/index.html", pageInfo]); }; Get["/{langID}", true] = async(parameters, ct) => { PageInfo pageInfo = new PageInfo(); pageInfo.langcode = parameters.langID; pageInfo.langfile = string.Format("/js/lang/{0}.js", parameters.langID); return(View["public/index.html", pageInfo]); }; Post[parentSpace + "/createUser", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int socialType = (int)payload["socialType"]; string socialID = (string)payload["socialID"]; string nickUtf8 = (string)payload["nick"]; Encoding enc = new UTF32Encoding(true, true); //System.Text.Encoding utf8 = System.Text.Encoding.UTF8; string nick = System.Net.WebUtility.UrlDecode(nickUtf8); //string picurl = (string)payload["picurl"]; Random r = new Random(); int imgNumber = r.Next(1, 72); string picurl = String.Format("/img/avatar/default/avartar_{0:00}.png", imgNumber); string email = (string)payload["email"]; string pw = (string)payload["pw"]; pw = Utils.DecryptStringAES(pw); pw = Utils.GetMD5Hash(pw); bool isValidEmail = true; if (socialType == 0) { isValidEmail = isValidEmail && Utils.IsValidEmail(socialID); } ; isValidEmail = isValidEmail && Utils.IsValidEmail(email); if (!isValidEmail) { return(new WebException("ApiError_InvalidEmail", (int)ErrorCode.ApiError_InvalidEmail)); } int createResult = -1; Task t = Task.Run(() => { createResult = dbhandler.sp_createuser(socialType, socialID, nick, picurl, email, pw); }); await t; if (createResult != 0) { return(new WebException("Create failed", createResult)); } return(new WebOK()); }; Post[parentSpace + "/deleteUser", true] = async(parameters, ctor) => { IDictionary <string, object> payload = GetPayLoad(); string authToken = (string)payload["authtoken"]; DBLoginInfo loginInfo = null; Task taskCheckLogin = Task.Run(() => { loginInfo = dbhandler.sp_validtoken(authToken, 1); }); await taskCheckLogin; if (loginInfo == null) { return(new WebException("Login failed", 401)); } string firstID = loginInfo.SocialID.Split('@')[0].Substring(0, 5); if (firstID == "guest") { return(new WebException("Cant't delete guest", 401)); } int deleteResult = -1; Task deleteUser = Task.Run(() => { deleteResult = dbhandler.sp_deleteuser(loginInfo.SocialType, loginInfo.SocialID); }); await deleteUser; if (deleteResult != 0) { return(new WebException("Deleted failed", 500)); } return(new WebOK()); }; Post[parentSpace + "/loginUser", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int socialType = (int)payload["socialType"]; string socialID = (string)payload["socialID"]; string pw = (string)payload["pw"]; if (socialType != 0) { return(new WebException("ApiError_NotAlow SocialLogin", 401)); } pw = Utils.DecryptStringAES(pw); pw = Utils.GetMD5Hash(pw); bool isValidEmail = true; if (socialType == 0) { isValidEmail = isValidEmail && Utils.IsValidEmail(socialID); } ; if (!isValidEmail) { return(new WebException("ApiError_InvalidEmail", (int)ErrorCode.ApiError_InvalidEmail)); } LoginOK result = null; Task t = Task.Run(() => { result = dbhandler.sp_loginuser(socialType, socialID, pw); }); await t; return(result); }; Post[parentSpace + "/loginUserSocial", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int socialType = (int)payload["socialType"]; string authToken = (string)payload["authToken"]; if (socialType == 0) { return(new WebException("ApiError_NotAlow NormalLogin", 401)); } LoginOK resultValue = new LoginOK(); resultValue.statusCode = -401; //FB Mode if (socialType == 1) { DBLoginInfo fbInfo = null; Task t = Task.Run(() => { fbInfo = FBAPI.GetUserData(authToken); }); await t; Random r = new Random(); int imgNumber = r.Next(1, 72); string picurl = String.Format("/img/avatar/default/avartar_{0:00}.png", imgNumber); if (fbInfo != null) { resultValue = dbhandler.sp_loginSocial(socialType, fbInfo.SocialID, fbInfo.Nick, picurl, fbInfo.Email); } } return(resultValue); }; Post[parentSpace + "/validate", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); string authToken = (string)payload["authtoken"]; DBLoginInfo loginInfo = null; Task t = Task.Run(() => { loginInfo = dbhandler.sp_validtoken(authToken, 1); }); await t; if (loginInfo == null) { return(new WebException("Login failed", 401)); } return(loginInfo.ToString()); }; Post["/test2/{id}/add/{category}"] = parameters => { return("post test"); }; }
public void WebName(UTF32Encoding encoding, string webName) { Assert.Equal(webName, encoding.WebName); }
public void CodePage(UTF32Encoding encoding, string webName) { Assert.Equal(webName == "utf-32" ? 12000 : 12001, encoding.CodePage); }
/// <summary>Detects the presence of an encoding preamble in the first count bytes of the byte buffer. /// If detectEncoding is false, this function only searches for the preamble of the given default encoding, /// otherwise also for any of the standard unicode byte order marks (UTF-8, UTF-16 LE/BE, UTF-32 LE/BE). /// If an encoding different from the given default encoding is detected, the new encoding /// is assigned to the encoding reference. /// Returns the number of bytes in the detected preamble, or 0 if no preamble is detected. /// </summary> internal static int DetectPreamble(byte[] buffer, int count, ref Encoding encoding, bool detectEncoding) { Debug.Assert(count >= 0); if (detectEncoding && count >= 2) { switch (buffer[0]) { case 0xEF: if (buffer[1] == 0xBB && count > 2 && buffer[2] == 0xBF) { #if !SILVERLIGHT && !NETFX_CORE if (encoding.CodePage != 65001) #else if (encoding.WebName != "utf-8") #endif { encoding = Encoding.UTF8; } return(3); } break; case 0xFE: if (buffer[1] == 0xFF) { #if !SILVERLIGHT && !NETFX_CORE if (encoding.CodePage != 1201) #else if (encoding.WebName != "utf-16BE") #endif { encoding = Encoding.BigEndianUnicode; } return(2); } break; case 0xFF: if (buffer[1] == 0xFE) { if (count >= 4 && buffer[2] == 0x00 && buffer[3] == 0x00) { #if !SILVERLIGHT && !NETFX_CORE if (encoding.CodePage != 12000) { encoding = Encoding.UTF32; // UTF-32 little endian } #else // TODO: check at run time if encoding is available if (encoding.WebName != "utf-32") { throw new NotSupportedException("An UTF-32 input encoding was detected, which is not natively supported under Silverlight."); } #endif return(4); } else { #if !SILVERLIGHT && !NETFX_CORE if (encoding.CodePage != 1200) #else if (encoding.WebName != "utf-16") #endif { encoding = Encoding.Unicode; // UTF-16 little endian } return(2); } } break; case 0x00: if (buffer[1] == 0x00 && count >= 4 && buffer[2] == 0xFE && buffer[3] == 0xFF) { #if !SILVERLIGHT && !NETFX_CORE if (encoding.CodePage != 12001) { encoding = new UTF32Encoding(true, true); // UTF-32 big endian } #else if (encoding.WebName != "utf-32BE") { throw new NotSupportedException("An UTF-32 (big endian) input encoding was detected, which is not natively supported under Silverlight."); } #endif return(4); } break; } } byte[] preamble = encoding.GetPreamble(); if (preamble.Length > 0 && count >= preamble.Length) { int i = 0; while (buffer[i] == preamble[i]) { if (++i == preamble.Length) { return(preamble.Length); } } } return(0); }
//Constraint is not needed for primitive type UniversalString. //Therefore no need to override VerifyConstraints method. #region Encode & Decode Functionality /// <summary> /// Provides encoding functionality in UniversalString way for a string. /// </summary> /// <param name="str"></param> /// <returns>The encoding result, in byte array form, big endian.</returns> private static byte[] UniversalStringEncode(string str) { UTF32Encoding be = new UTF32Encoding(true, false); return(be.GetBytes(str)); }
public void IsSingleByte(UTF32Encoding encoding, string description) { _ = description; Assert.False(encoding.IsSingleByte); }
public void Clone(UTF32Encoding encoding, string _) { UTF32Encoding clone = (UTF32Encoding)encoding.Clone(); Assert.NotSame(encoding, clone); Assert.Equal(encoding, clone); }
public void Ctor_Empty() { UTF32Encoding encoding = new UTF32Encoding(); VerifyUtf32Encoding(encoding, bigEndian: false, byteOrderMark: true, throwOnInvalidBytes: false); }
static public string DebugStringsDump(CharacterInformation pCharInfo, string pString) { StringBuilder sb = new StringBuilder(); sb.AppendLine(pString); UTF32Encoding utf32withoutbom = new UTF32Encoding(false, false); List <string> characterList = new List <string>(GetOneCharacterEnumerator(pString)); for (int i = 0; i < characterList.Count; i++) { string moji = characterList[i]; sb.AppendFormat("[{0}]:{1}", i + 1, moji); byte[] bytetbl = utf32withoutbom.GetBytes(moji); for (int j = 0; j < bytetbl.Length; j += 4) { if (j == 0) { sb.Append("(U+"); } else { sb.Append("+"); } sb.AppendFormat("{0:X}", BitConverter.ToInt32(bytetbl, j)); } sb.Append(")"); InfomationRecord charInfo = pCharInfo[characterList[i]]; if (charInfo != null) { if (charInfo.JISX0213Level != JISX0213Levels.None) { sb.AppendFormat(" {0}", charInfo.JISX0213Level); } if (charInfo.NameType != NameTypes.None) { sb.AppendFormat(" {0}", charInfo.NameType); } if (charInfo.ETaxAvailable) { sb.AppendFormat(" e-Tax"); } if (charInfo.GakunenbetuKanji != GakunenbetuKanjis.None) { sb.AppendFormat(" {0}", charInfo.GakunenbetuKanji); } if (charInfo.NISAAvailable) { sb.AppendFormat(" NISA"); } if (charInfo.ELTAXAvailable) { sb.AppendFormat(" eLTAX"); } } sb.AppendLine(); } return(sb.ToString()); }
public static Encoding GetEncodingByBom(string filename) { //into as a string var xmlStr = XDocument.Load(filename).ToString(); byte[] stringSide = Encoding.UTF8.GetBytes(xmlStr); byte[] memorySide = null; //into as a memory using (MemoryStream ms = new MemoryStream()) { using (FileStream source = File.Open(filename, FileMode.Open)) { source.CopyTo(ms); } memorySide = ms.ToArray(); } Encoding encodingResult = null; //compare content bool result = stringSide.SequenceEqual(memorySide); if (result)//the same then there is no BOM { //there is no BOM stringSide = null; memorySide = null; return(encodingResult); } byte[] utf8 = Encoding.UTF8.GetPreamble(); byte[] bom = memorySide.Take(utf8.Length).ToArray(); bool isUtf8 = utf8.SequenceEqual(bom); if (isUtf8) { encodingResult = Encoding.UTF8; } else { //byte[] latin = Encoding.Latin1.GetPreamble(); //bom = memorySide.Take(latin.Length).ToArray(); //bool isLatin = latin.SequenceEqual(bom); //if (isLatin) // encodingResult = Encoding.Latin1; //maybe there is a different BOM //if (bom[0] == 0x2b && bom[1] == 0x2f && bom[2] == 0x76) //encodingResult = Encoding.UTF7; if (bom[0] == 0xef && bom[1] == 0xbb && bom[2] == 0xbf) { encodingResult = Encoding.UTF8; } if (bom[0] == 0xff && bom[1] == 0xfe && bom[2] == 0 && bom[3] == 0) { encodingResult = Encoding.UTF32; //UTF-32LE } if (bom[0] == 0xff && bom[1] == 0xfe) { encodingResult = Encoding.Unicode; //UTF-16LE } if (bom[0] == 0xfe && bom[1] == 0xff) { encodingResult = Encoding.BigEndianUnicode; //UTF-16BE } if (bom[0] == 0 && bom[1] == 0 && bom[2] == 0xfe && bom[3] == 0xff) { encodingResult = new UTF32Encoding(true, true); //UTF-32BE } } stringSide = null; memorySide = null; bom = null; //hard to detect the BOM type return(encodingResult); }
public void Read_Timeout() { using (SerialPort com1 = TCSupport.InitFirstSerialPort()) using (SerialPort com2 = TCSupport.InitSecondSerialPort(com1)) { char[] charXmitBuffer = TCSupport.GetRandomChars(512, TCSupport.CharacterOptions.None); byte[] byteXmitBuffer = new UTF32Encoding().GetBytes(charXmitBuffer); char[] charRcvBuffer = new char[charXmitBuffer.Length]; int result; Debug.WriteLine( "Verifying that Read(char[], int, int) works appropriately after TimeoutException has been thrown"); com1.Encoding = new UTF32Encoding(); com2.Encoding = new UTF32Encoding(); com1.ReadTimeout = 500; // 20 seconds com1.Open(); if (!com2.IsOpen) //This is necessary since com1 and com2 might be the same port if we are using a loopback { com2.Open(); } //Write the first 3 bytes of a character com2.Write(byteXmitBuffer, 0, 3); Assert.Throws <TimeoutException>(() => com1.ReadChar()); Assert.Equal(3, com1.BytesToRead); com2.Write(byteXmitBuffer, 3, byteXmitBuffer.Length - 3); TCSupport.WaitForExpected(() => com1.BytesToRead, byteXmitBuffer.Length, 5000, "Err_91818aheid BytesToRead"); result = com1.ReadChar(); if (result != charXmitBuffer[0]) { Fail("Err_0158ahei Expected ReadChar to read {0}({0:X}) actual {1}({1:X})", charXmitBuffer[0], result); } else { charRcvBuffer[0] = (char)result; int readResult = com1.Read(charRcvBuffer, 1, charRcvBuffer.Length - 1); if (readResult + 1 != charXmitBuffer.Length) { Fail("Err_051884ajoedo Expected Read to read {0} characters actually read {1}", charXmitBuffer.Length - 1, readResult); } else { for (int i = 0; i < charXmitBuffer.Length; ++i) { if (charRcvBuffer[i] != charXmitBuffer[i]) { Fail("Err_05188ahed Characters differ at {0} expected:{1}({1:X}) actual:{2}({2:X})", i, charXmitBuffer[i], charRcvBuffer[i]); } } } } VerifyBytesReadOnCom1FromCom2(com1, com2, byteXmitBuffer, charXmitBuffer); } }