diff --git a/ICD.Common.Utils/StringUtils.cs b/ICD.Common.Utils/StringUtils.cs
index 325a55e..5743312 100644
--- a/ICD.Common.Utils/StringUtils.cs
+++ b/ICD.Common.Utils/StringUtils.cs
@@ -452,8 +452,17 @@ namespace ICD.Common.Utils
///
public static byte FromIpIdString(string value)
{
- value = value.Replace("0x", "");
- return Convert.ToByte(value, 16);
+ if (value == null)
+ throw new ArgumentNullException("value");
+
+ try
+ {
+ return (byte)Convert.ToInt64(value, 16);
+ }
+ catch (ArgumentOutOfRangeException e)
+ {
+ throw new FormatException(e.Message, e);
+ }
}
///
diff --git a/ICD.Common.Utils/Xml/XmlReaderExtensions.cs b/ICD.Common.Utils/Xml/XmlReaderExtensions.cs
index 87b8617..f1d9510 100644
--- a/ICD.Common.Utils/Xml/XmlReaderExtensions.cs
+++ b/ICD.Common.Utils/Xml/XmlReaderExtensions.cs
@@ -246,7 +246,7 @@ namespace ICD.Common.Utils.Xml
throw new ArgumentNullException("extends");
string content = extends.ReadElementContentAsString();
- return (byte)Convert.ToInt64(content, 16);
+ return StringUtils.FromIpIdString(content);
}
///