Revision: 27581
Updated Code
at July 13, 2010 06:20 by pckujawa
Updated Code
/// <summary> /// Determines whether the argument string can be represented with the ASCII (<see cref="Encoding.ASCII"/>) encoding. /// </summary> /// <param name="value">The value to check.</param> /// <returns> /// <c>true</c> if the specified value is ASCII; otherwise, <c>false</c>. /// </returns> public static bool IsASCII(this string value) { // ASCII encoding replaces non-ascii with question marks, so we use UTF8 to see if multi-byte sequences are there return Encoding.UTF8.GetByteCount(value) == value.Length; } [TestMethod] public void IsASCII_SimplestValid_ReturnsTrue() { string value = Encoding.ASCII.GetString(new byte[0]); var expected = true; var actual = value.IsASCII(); Assert.AreEqual(expected, actual); } [TestMethod] public void IsASCII_MultiByteValid_ReturnsTrue() { string value = "\0\0"; var expected = true; var actual = value.IsASCII(); Assert.AreEqual(expected, actual); } [TestMethod] public void IsASCII_UnicodeInput_ReturnsFalse() { string value = "Ä€"; // first multibyte utf8 char var expected = false; var actual = value.IsASCII(); Assert.AreEqual(expected, actual); }
Revision: 27580
Updated Code
at June 17, 2010 03:01 by pckujawa
Updated Code
/// <summary> /// Determines whether the argument string can be represented with the UTF-8 (<see cref="Encoding.UTF8"/>) encoding. /// </summary> /// <param name="value">The value to check.</param> /// <returns> /// <c>true</c> if the specified value is UTF8; otherwise, <c>false</c>. /// </returns> public static bool IsUTF8(this string value) { return Encoding.UTF8.GetByteCount(value) == value.Length; } [TestMethod] public void IsUTF8_SimplestValid_ReturnsTrue() { string value = Encoding.UTF8.GetString(new byte[0]); var expected = true; var actual = value.IsUTF8(); Assert.AreEqual(expected, actual); } [TestMethod] public void IsUTF8_MultiByteValid_ReturnsTrue() { string value = "\0\0"; var expected = true; var actual = value.IsUTF8(); Assert.AreEqual(expected, actual); } [TestMethod] public void IsUTF8_UnicodeInput_ReturnsFalse() { string value = "Ä€"; // first multibyte utf8 char var expected = false; var actual = value.IsUTF8(); Assert.AreEqual(expected, actual); }
Revision: 27579
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 17, 2010 02:52 by pckujawa
Initial Code
/// <summary> /// Determines whether the argument string can be represented with the UTF-8 (<see cref="Encoding.UTF8"/>) encoding. /// </summary> /// <param name="value">The value to check.</param> /// <returns> /// <c>true</c> if the specified value is UTF8; otherwise, <c>false</c>. /// </returns> public static bool IsUTF8(this string value) { return Encoding.UTF8.GetByteCount(value) == value.Length; }
Initial URL
Initial Description
Initial Title
Check if a string can be represented as ASCII
Initial Tags
Initial Language
C#