Allow hex escapes greater than \x7F in byte literals
diff --git a/src/escape.rs b/src/escape.rs
index 2adf06b..eb30d90 100644
--- a/src/escape.rs
+++ b/src/escape.rs
@@ -122,6 +122,35 @@
     }
 }
 
+pub fn cooked_byte(input: &str) -> IResult<&str, u8> {
+    let mut bytes = input.bytes().enumerate();
+    let b = match bytes.next().map(|(_, b)| b) {
+        Some(b'\\') => {
+            match bytes.next().map(|(_, b)| b) {
+                Some(b'x') => backslash_x_byte(&mut bytes),
+                Some(b'n') => Some(b'\n'),
+                Some(b'r') => Some(b'\r'),
+                Some(b't') => Some(b'\t'),
+                Some(b'\\') => Some(b'\\'),
+                Some(b'0') => Some(b'\0'),
+                Some(b'\'') => Some(b'\''),
+                Some(b'"') => Some(b'"'),
+                _ => None,
+            }
+        }
+        b => b,
+    };
+    match b {
+        Some(b) => {
+            match bytes.next() {
+                Some((offset, _)) => IResult::Done(&input[offset..], b),
+                None => IResult::Done("", b),
+            }
+        }
+        None => IResult::Error,
+    }
+}
+
 pub fn raw_string(input: &str) -> IResult<&str, (String, usize)> {
     let mut chars = input.char_indices();
     let mut n = 0;
diff --git a/src/lit.rs b/src/lit.rs
index 4829803..857832d 100644
--- a/src/lit.rs
+++ b/src/lit.rs
@@ -129,7 +129,7 @@
 #[cfg(feature = "parsing")]
 pub mod parsing {
     use super::*;
-    use escape::{cooked_byte_string, cooked_char, cooked_string, raw_string};
+    use escape::{cooked_byte, cooked_byte_string, cooked_char, cooked_string, raw_string};
     use space::skip_whitespace;
     use nom::IResult;
     use unicode_xid::UnicodeXID;
@@ -181,9 +181,9 @@
     named!(byte -> Lit, do_parse!(
         punct!("b") >>
         tag!("'") >>
-        ch: cooked_char >>
+        b: cooked_byte >>
         tag!("'") >>
-        (Lit::Byte(ch as u8))
+        (Lit::Byte(b))
     ));
 
     named!(character -> Lit, do_parse!(
diff --git a/tests/cases/lit.rs b/tests/cases/lit.rs
index b9e43ea..257d045 100644
--- a/tests/cases/lit.rs
+++ b/tests/cases/lit.rs
@@ -25,6 +25,7 @@
     b'\n'
     b'"'
     b'\''
+    b'\x91'
 
     // Char
     '0'