(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     33554,        877]
NotebookOptionsPosition[     26065,        736]
NotebookOutlinePosition[     28110,        785]
CellTagsIndexPosition[     28033,        780]
WindowTitle->HexStringQ
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "4eb15b82-e020-4524-8ce9-2bb2beb0671f"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "3d65dc73-1241-4574-9ae2-87ec38824621"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "860f7ce2-f614-4f2d-a5eb-78b04a0a54ae"]
         }],ExpressionUUID->"87c0df87-9ef0-4272-adf9-1085f48ab0ca"],
         StripOnInput->False],{
        StyleBox[
          "\"HexStringToByteList\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/HexStringToByteList"], 
         StyleBox[
          "\"ByteListToHexString\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ByteListToHexString"], 
         StyleBox["\"ByteListQ\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ByteListQ"], 
         StyleBox["\"Base58Q\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/Base58Q"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "880213a7-9a2e-410a-b4bc-be561af97c17"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "31f7602c-eb7a-433b-94e9-e6389dcdbdda"]
         }],ExpressionUUID->"794875eb-f1d9-4cc6-b7ee-2ab86101762e"],
         StripOnInput->False],{
        "\"Encodings\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Encodings"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "1cc40ac5-b82c-42b1-aec9-5243064fc4f9"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "a4b53d29-8557-461a-93c2-ae7bc8eb53ee"]
         }],ExpressionUUID->"243e8e73-4880-408c-85ac-d5db0c6d3ed2"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/HexStringQ\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/HexStringQ"], 
         Delimiter, "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/HexStringQ.html"], StandardForm]], "Input", TextClipboardType -> 
                 "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/HexStringQ" <> ".html"], 
              None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "6103c74e-a893-4807-a359-f08a04531bd8"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "2171e81c-96ba-458f-b7dd-f21fffb216eb"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"b2eb4bd4-4d2c-4778-aabb-e25e8fa5f484"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"775f301f-4b58-4f86-ae0b-8a3b9881e9c9"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "HexStringQ", "ObjectName",ExpressionUUID->
      "ebf6b442-4350-4aab-9a3e-80dafb053755"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"4485825a-4226-4cd7-93ac-487cbaeaefc0"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "429e5c25-3ec6-49d3-85b9-cfb7627ba283"]
    }],ExpressionUUID->"10d7b485-10a5-4ee1-b99c-4f4fb8002aa7"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"ece62525-05fa-406b-9f65-\
3ae9c55abd8c"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["HexStringQ"]], 
         "paclet:WolframInstitute/Puzzles/ref/HexStringQ", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       StyleBox["string", "TI"], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "b15d0c08-e1f0-4e47-895c-874ff7962a3e"],
     "\[LineSeparator]",
     "gives ",
     Cell[BoxData["True"], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "0d2c0af0-6e79-4eeb-9b70-ae6ac1a585d9"],
     " if ",
     StyleBox["string", "TI"],
     " is an even-length string of hexadecimal digits in either case, and ",
     Cell[BoxData["False"], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "18f89476-87bd-461d-8a4a-c999504200b9"],
     " otherwise."
    }],ExpressionUUID->"156162d0-c93d-4f52-b300-a51492c9713b"]}
  }]], "Usage",ExpressionUUID->"ff4f22bf-d6d7-4030-9393-8c2fa2630efc"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"a3183328-e3b2-4a68-b56b-7d0790a499b6"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"10dadc91-3a3b-409e-87ad-4873d82ad1c5"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "950948cd-f8e9-437f-b974-11fcf8f49794"]],ExpressionUUID->"e735bb80-b57c-\
445f-a300-47d2b07f4d18"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1164451024,ExpressionUUID->"da4582a1-7765-4e0e-b619-f393b965e6da"],

Cell["\<\
The even-length requirement is deliberate: a hexadecimal string here always \
denotes whole bytes, two digits each.\
\>", "Notes",ExpressionUUID->"62031d9f-22db-406a-8d1c-fda7e4ae7cf4"],

Cell[TextData[{
 "Upper case, lower case and mixed case all give ",
 Cell[BoxData["True"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "c732d111-31ec-4143-bb90-f3442ee1c95c"],
 "."
}], "Notes",ExpressionUUID->"693860b0-195c-4b7f-9ae8-d0d3d3ae53a8"],

Cell[TextData[{
 "The empty string gives ",
 Cell[BoxData["True"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b6ca545e-be95-4c47-a75e-0723e0a9794b"],
 ", since it denotes the empty byte string."
}], "Notes",ExpressionUUID->"26a11c88-036d-4411-bc90-2a1047f92c32"],

Cell[TextData[{
 "A ",
 Cell[BoxData["\<\"0x\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "fd588e27-d164-490d-b1bb-059ea0f6ca7d"],
 " prefix is not part of the notation and gives ",
 Cell[BoxData["False"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "d63b3206-975a-42d7-9ab5-a96a132de2ab"],
 "."
}], "Notes",ExpressionUUID->"5893b60e-0e5c-4c96-9953-7e8017fc7b9d"],

Cell[TextData[{
 "Anything that is not a ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["String"]], "paclet:ref/String"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",ExpressionUUID->
  "67c655a1-5aa6-462f-ab8c-a84fc3d59210"],
 " gives ",
 Cell[BoxData["False"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "ec366809-b66d-48f9-81f8-ffd64ea10ad2"],
 "."
}], "Notes",ExpressionUUID->"36c22fbf-7a96-418e-96d9-7f72192105da"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"a7802107-3763-4cba-a7e3-9621f57a5f81"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"67d8424b-03d7-4993-888c-43e8ebf55db1"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"2776d8ae-aa1e-40fb-85a3-3d6d4aa5792c"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(8)", "ExampleCount",ExpressionUUID->
  "86718f01-55e1-42f2-8ada-00394dbb87c1"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->909885257,ExpressionUUID->"fa3ae86e-3c8d-48d5-8984-f0137ab3da33"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"eacd992a-4b9d-4fed-a57f-527824213204"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "58c7b02a-6483-4e7a-84cf-51a856ee6d93"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"cdd7189e-92b1-418e-a409-64920e3281b5"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "17a22429-f38a-4435-a31b-0e894583f31e"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->210464112,ExpressionUUID->"56cf770a-3205-4c5f-a312-64b256981461"],

Cell["An even-length string of hexadecimal digits:", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"df88282e-bc5c-46f4-8971-c176f99612a1"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", "\"\<deadbeef\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"4e9e30af-38ba-402c-b810-9a64969ca062"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"f88d1d3c-783b-4c3b-ab7a-abce68d75907"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "d5b2ff36-a34a-4c3c-99f8-02e11bcf913d"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"e728c580-fa76-4c5d-\
8475-30f445b0a51c"],

Cell["Case does not matter:", "ExampleText",ExpressionUUID->"98a8e6bb-9f74-4abb-b965-625eac157fdd"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", "\"\<DEADbeef\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"b05d9ad3-1278-4c2b-b395-3fdc725c6200"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"f02fd634-b221-4e1a-b92c-aa436661575b"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "8255e315-6156-4f5c-ae06-b95eb36c8553"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"b5e1e1d1-6865-4a35-\
a745-14f9589bf6c9"],

Cell["An odd number of digits does not denote whole bytes:", "ExampleText",ExpressionUUID->"0d65fe18-f787-48ea-b93a-25e3b2b13500"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", "\"\<abc\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c7e1bf39-e105-4591-9fd0-b242ee56ee56"],

Cell[BoxData["False"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"a41594e2-5f6c-4d70-be7d-8b4286917832"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "20f91ed7-c10e-4d43-8a8d-6c086e70d3fb"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"ea219c0a-bcac-4106-aaee-85b5fa3bc103"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "3fa8d276-aba5-42a0-88a6-1bd9a6d9aee8"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"a2fed3ad-1a1d-4e51-ae49-4db8ce665593"],

Cell["The empty string denotes the empty byte string:", "ExampleText",ExpressionUUID->"11dcbb5b-7a37-48ad-ab79-9fb98add3c75"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", "\"\<\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"b94b15b2-6130-4248-85cd-bd9fa005b159"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"a81922a2-2d83-4e5b-973c-bb428ace6033"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "0af87e29-634b-405b-895e-dc715cd04c09"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"545c5552-043b-488a-\
b817-977bd32fe419"],

Cell[TextData[{
 "A digit outside the hexadecimal alphabet gives ",
 Cell[BoxData["False"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "5661c790-3cde-4301-b1fe-7121203f2801"],
 ":"
}], "ExampleText",ExpressionUUID->"b22529aa-6bf0-417a-973d-a5cb179677ec"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", "\"\<gg\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"60c962cf-3816-4e47-b226-c6c4eedc0e66"],

Cell[BoxData["False"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"de196a6b-bf8e-4cec-a38b-02fde8358105"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "0ac53ddb-eabb-4cba-ac98-c11eb40adbfa"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"49c5ff41-74a7-4a60-\
bc50-84362a52fd22"],

Cell["An integer is not a string, whatever its base:", "ExampleText",ExpressionUUID->"f85757c2-5191-4c3e-be39-06638021716c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", "255", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"2ce84248-cd5d-4104-8c38-7fdfafa5996c"],

Cell[BoxData["False"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"d4c087a8-eb56-4df7-b87d-4475d18cbff2"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "42e0cff4-7ef6-40b5-bdae-19189aa324f6"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"d1de8eef-4b3b-405c-bfde-bfe5c444638f"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "b729a57b-e03b-4c95-8803-8ad5bcf83b13"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"e4ee4b0b-be58-4a2f-a1fc-693f15d71bc1"],

Cell[TextData[{
 "A ",
 Cell[BoxData["\<\"0x\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "ab05e106-dbd9-4977-a7ae-c7b6298cc6ad"],
 " prefix is not part of the notation, and ",
 Cell[BoxData["\<\"x\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "329432e7-124f-48e9-9b46-bc017667e052"],
 " is not a hexadecimal digit:"
}], "ExampleText",ExpressionUUID->"491f4d47-f14b-4c40-8b0c-7c98476c9f0f"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", "\"\<0xff\>\"", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"dd1f7b53-40f3-4bc1-9218-2a1d5b5243b5"],

Cell[BoxData["False"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"784d331e-67ad-4a53-92aa-8732a00bab2d"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "7bf0c5bb-3d2b-45cf-9330-40eb383dd6c5"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"54f9a19f-5898-4aad-\
a64b-34e28488243d"],

Cell["Strip such a prefix before testing:", "ExampleText",ExpressionUUID->"5c232df5-ca71-4604-8384-c4608ca1351c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"HexStringQ", "[", 
  RowBox[{"StringDelete", "[", 
   RowBox[{"\"\<0xff\>\"", ",", " ", 
    RowBox[{"StartOfString", " ", "~~", " ", "\"\<0x\>\""}]}], "]"}], 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"31e58d46-41a1-407a-b9aa-cdc4050dba5c"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"6a82ef4b-5fcf-41f6-88a7-ed12395a1091"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["HexStringToByteList"]], 
           "paclet:WolframInstitute/Puzzles/ref/HexStringToByteList", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "2f4da5ba-fbad-437f-8560-15bd17ce49ff"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ByteListToHexString"]], 
           "paclet:WolframInstitute/Puzzles/ref/ByteListToHexString", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "4f1b60a3-de16-4292-b073-a063624f8733"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ByteListQ"]], 
           "paclet:WolframInstitute/Puzzles/ref/ByteListQ", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "54cc9ddb-3ab7-4ccd-aa2b-20cdf3d12604"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Base58Q"]], 
           "paclet:WolframInstitute/Puzzles/ref/Base58Q", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "00b33ef3-9c95-4dd6-a8b9-22dfbee28a94"]
       }], "SeeAlso",ExpressionUUID->"5a49a2f0-d65a-42ee-a9e3-70a5981e3565"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"27a51c07-3a2f-4e61-9167-\
633a1d0d93eb"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedGuide.png"]]], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Encodings"]], 
           "paclet:WolframInstitute/Puzzles/guide/Encodings"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "ebbf8c51-f2b7-4f55-a1dc-a193e41c8708"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"a6504ce0-a433-4792-97d8-\
a61d20ff33da"],

Cell[" ", "FooterCell",ExpressionUUID->"e62367f9-5796-4bc7-9bcb-c67a3f0bfe4e"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"HexStringQ",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 11, 37.364007}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[HexStringQ,paclet : WolframInstitute/Puzzles/ref/HexStringQ, \
WolframInstitute/Puzzles Package Symbol][string] gives True if string is an \
even-length string of hexadecimal digits in either case, and False \
otherwise.", "synonyms" -> {}, "tabletags" -> {}, "title" -> "HexStringQ", 
    "titlemodifier" -> "", "metadescription" -> "", "windowtitle" -> 
    "HexStringQ", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/HexStringQ", "WorkflowDockedCell" -> ""}, 
  "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"1f6ac81a-0959-41e5-9365-87fcf3f89c7a"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[14345, 391, 154, 2, 70, "ExampleText",ExpressionUUID->"df88282e-bc5c-46f4-8971-c176f99612a1",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 27876, 774}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[578, 21, 5579, 137, 70, "AnchorBarGrid",ExpressionUUID->"b2eb4bd4-4d2c-4778-aabb-e25e8fa5f484",
 CellID->1],
Cell[6160, 160, 107, 0, 70, "ContextNameCell",ExpressionUUID->"775f301f-4b58-4f86-ae0b-8a3b9881e9c9"],
Cell[CellGroupData[{
Cell[6292, 164, 553, 14, 70, "ObjectNameGrid",ExpressionUUID->"ece62525-05fa-406b-9f65-3ae9c55abd8c"],
Cell[6848, 180, 1186, 30, 70, "Usage",ExpressionUUID->"ff4f22bf-d6d7-4030-9393-8c2fa2630efc"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8071, 215, 1444, 34, 70, "NotesSection",ExpressionUUID->"da4582a1-7765-4e0e-b619-f393b965e6da",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1164451024],
Cell[9518, 251, 195, 3, 70, "Notes",ExpressionUUID->"62031d9f-22db-406a-8d1c-fda7e4ae7cf4"],
Cell[9716, 256, 299, 7, 70, "Notes",ExpressionUUID->"693860b0-195c-4b7f-9ae8-d0d3d3ae53a8"],
Cell[10018, 265, 315, 7, 70, "Notes",ExpressionUUID->"26a11c88-036d-4411-bc90-2a1047f92c32"],
Cell[10336, 274, 471, 12, 70, "Notes",ExpressionUUID->"5893b60e-0e5c-4c96-9953-7e8017fc7b9d"],
Cell[10810, 288, 533, 16, 70, "Notes",ExpressionUUID->"36c22fbf-7a96-418e-96d9-7f72192105da"]
}, Closed]],
Cell[11358, 307, 80, 0, 70, "PageDelimiter",ExpressionUUID->"a7802107-3763-4cba-a7e3-9621f57a5f81"],
Cell[CellGroupData[{
Cell[11463, 311, 1400, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"fa3ae86e-3c8d-48d5-8984-f0137ab3da33",
 CellID->909885257],
Cell[12866, 350, 216, 4, 70, "Input",ExpressionUUID->"eacd992a-4b9d-4fed-a57f-527824213204",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[13107, 358, 1235, 31, 70, "ExampleSection",ExpressionUUID->"56cf770a-3205-4c5f-a312-64b256981461",
 CellID->210464112],
Cell[14345, 391, 154, 2, 70, "ExampleText",ExpressionUUID->"df88282e-bc5c-46f4-8971-c176f99612a1",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[14524, 397, 205, 3, 70, "Input",ExpressionUUID->"4e9e30af-38ba-402c-b810-9a64969ca062"],
Cell[14732, 402, 110, 1, 70, "Output",ExpressionUUID->"f88d1d3c-783b-4c3b-ab7a-abce68d75907"]
}, Open  ]],
Cell[CellGroupData[{
Cell[14879, 408, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"e728c580-fa76-4c5d-8475-30f445b0a51c"],
Cell[15106, 415, 99, 0, 70, "ExampleText",ExpressionUUID->"98a8e6bb-9f74-4abb-b965-625eac157fdd"],
Cell[CellGroupData[{
Cell[15230, 419, 205, 3, 70, "Input",ExpressionUUID->"b05d9ad3-1278-4c2b-b395-3fdc725c6200"],
Cell[15438, 424, 110, 1, 70, "Output",ExpressionUUID->"f02fd634-b221-4e1a-b92c-aa436661575b"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[15597, 431, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"b5e1e1d1-6865-4a35-a745-14f9589bf6c9"],
Cell[15824, 438, 130, 0, 70, "ExampleText",ExpressionUUID->"0d65fe18-f787-48ea-b93a-25e3b2b13500"],
Cell[CellGroupData[{
Cell[15979, 442, 200, 3, 70, "Input",ExpressionUUID->"c7e1bf39-e105-4591-9fd0-b242ee56ee56"],
Cell[16182, 447, 111, 1, 70, "Output",ExpressionUUID->"a41594e2-5f6c-4d70-be7d-8b4286917832"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[16354, 455, 1227, 31, 70, "ExampleSection",ExpressionUUID->"a2fed3ad-1a1d-4e51-ae49-4db8ce665593",
 CellID->1293636265],
Cell[17584, 488, 125, 0, 70, "ExampleText",ExpressionUUID->"11dcbb5b-7a37-48ad-ab79-9fb98add3c75"],
Cell[CellGroupData[{
Cell[17734, 492, 197, 3, 70, "Input",ExpressionUUID->"b94b15b2-6130-4248-85cd-bd9fa005b159"],
Cell[17934, 497, 110, 1, 70, "Output",ExpressionUUID->"a81922a2-2d83-4e5b-973c-bb428ace6033"]
}, Open  ]],
Cell[CellGroupData[{
Cell[18081, 503, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"545c5552-043b-488a-b817-977bd32fe419"],
Cell[18308, 510, 306, 7, 70, "ExampleText",ExpressionUUID->"b22529aa-6bf0-417a-973d-a5cb179677ec"],
Cell[CellGroupData[{
Cell[18639, 521, 199, 3, 70, "Input",ExpressionUUID->"60c962cf-3816-4e47-b226-c6c4eedc0e66"],
Cell[18841, 526, 111, 1, 70, "Output",ExpressionUUID->"de196a6b-bf8e-4cec-a38b-02fde8358105"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[19001, 533, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"49c5ff41-74a7-4a60-bc50-84362a52fd22"],
Cell[19228, 540, 124, 0, 70, "ExampleText",ExpressionUUID->"f85757c2-5191-4c3e-be39-06638021716c"],
Cell[CellGroupData[{
Cell[19377, 544, 192, 3, 70, "Input",ExpressionUUID->"2ce84248-cd5d-4104-8c38-7fdfafa5996c"],
Cell[19572, 549, 111, 1, 70, "Output",ExpressionUUID->"d4c087a8-eb56-4df7-b87d-4475d18cbff2"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[19744, 557, 1237, 31, 70, "ExampleSection",ExpressionUUID->"e4ee4b0b-be58-4a2f-a1fc-693f15d71bc1",
 CellID->1305812373],
Cell[20984, 590, 503, 12, 70, "ExampleText",ExpressionUUID->"491f4d47-f14b-4c40-8b0c-7c98476c9f0f"],
Cell[CellGroupData[{
Cell[21512, 606, 201, 3, 70, "Input",ExpressionUUID->"dd1f7b53-40f3-4bc1-9218-2a1d5b5243b5"],
Cell[21716, 611, 111, 1, 70, "Output",ExpressionUUID->"784d331e-67ad-4a53-92aa-8732a00bab2d"]
}, Open  ]],
Cell[CellGroupData[{
Cell[21864, 617, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"54f9a19f-5898-4aad-a64b-34e28488243d"],
Cell[22091, 624, 113, 0, 70, "ExampleText",ExpressionUUID->"5c232df5-ca71-4604-8384-c4608ca1351c"],
Cell[CellGroupData[{
Cell[22229, 628, 329, 7, 70, "Input",ExpressionUUID->"31e58d46-41a1-407a-b9aa-cdc4050dba5c"],
Cell[22561, 637, 110, 1, 70, "Output",ExpressionUUID->"6a82ef4b-5fcf-41f6-88a7-ed12395a1091"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[22722, 644, 2557, 67, 70, "SeeAlsoSection",ExpressionUUID->"27a51c07-3a2f-4e61-9167-633a1d0d93eb"],
Cell[25282, 713, 698, 19, 70, "MoreAboutSection",ExpressionUUID->"a6504ce0-a433-4792-97d8-a61d20ff33da"],
Cell[25983, 734, 78, 0, 70, "FooterCell",ExpressionUUID->"e62367f9-5796-4bc7-9bcb-c67a3f0bfe4e"]
}
]
*)

(* End of internal cache information *)

