         }
         let c = utf8[index]
         switch c {
-        case 97...122, 65...90:
+        case asciiLowerA...asciiLowerZ, asciiUpperA...asciiUpperZ:
             index = utf8.index(after: index)
         default:
             return nil

          } else {
            return nil // Hex escape must have at least 1 digit
          }
        case 97: // \a
          out.append(UInt8(7))
        case 98: // \b
          out.append(UInt8(8))
        case 102: // \f
          out.append(UInt8(12))
        case 110: // \n
          out.append(UInt8(10))
        case 114: // \r
          out.append(UInt8(13))
        case 116: // \t
          out.append(UInt8(9))
        case 118: // \v
          out.append(UInt8(11))
        case 39, 34, 63: // \'  \"  \?
          out.append(escaped)
        default:
          return nil // Unrecognized escape

                return result
            }
            let c = utf8[index]
            if c != asciiSingleQuote && c != asciiDoubleQuote {
                return result
            }
            index = utf8.index(after: index)
            if let s = parseQuotedString(terminator: c),
               let b = decodeBytes(s) {
                result.append(b)
            } else {
                throw DecodingError.malformedText
