<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 10/13/20 4:42 PM, Shawn Steele
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:DM6PR00MB066537F06315610D637E5E2A82041@DM6PR00MB0665.namprd00.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI Emoji";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:972371955;
        mso-list-template-ids:632684566;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1
        {mso-list-id:1591036775;
        mso-list-template-ids:-255134438;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2
        {mso-list-id:1913008283;
        mso-list-template-ids:-1333123198;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">My assertion is that if the application
          cannot change to UTF-8 due to legacy considerations, that the
          subtleties of whether to use a BOM or not also cannot be
          prescribed.  If the application could follow best practices,
          it would use UTF-8.  Since it cannot use UTF-8, therefore it
          can’t follow any prescribed behavior.  Therefore anything
          beyond “Use Unicode!” is merely suggestions.  Terminology like
          “require” implies a false sense of rigor that these
          applications can’t follow in practice.</p>
      </div>
    </blockquote>
    <p>This is why the prescription remains abstract:</p>
    <ul>
      <li>If possible, use something other than a BOM.</li>
      <li>As a last resort, use a BOM.</li>
    </ul>
    <p>I am effectively proposing that as a best practice.<br>
    </p>
    <blockquote type="cite"
cite="mid:DM6PR00MB066537F06315610D637E5E2A82041@DM6PR00MB0665.namprd00.prod.outlook.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Eg:  Presume I have a text editor that has
          been used in some context for some time.  If I’m told “use
          UTF-8”, that’s cool, I could try to do that, but if I cannot,
          then I’m in an exceptional path.  Unicode could suggest that I
          consider behavior for BOMs (such as ignoring them if present),
          however I’m already stuck in my legacy behavior, so there’s a
          limit to what my application can do.</p>
      </div>
    </blockquote>
    This scenario fits the advice above.  The "use something other than
    a BOM" could mean adding a command line option, adding a menu
    option, remembering what encoding was used for that file last time,
    performing a heuristic analysis (that may or may not include the
    presence of a BOM in its calculation), prompting the user, etc...<br>
    <blockquote type="cite"
cite="mid:DM6PR00MB066537F06315610D637E5E2A82041@DM6PR00MB0665.namprd00.prod.outlook.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">However, if Unicode says “if you see a BOM,
          then you must use UTF-8”, then users of my legacy application
          that is difficult to change, may have expectations of the
          application that don’t match reality.  They could even enter
          bugs like “The app isn’t recognizing data being tagged with
          BOMs.”  Or “your system isn’t compliant, so we can’t license
          it.”  If the app could properly handle UTF-8, we’d have been
          captured in the first requirements and wouldn’t even be having
          this part of the conversation.  Since they can’t handle UTF-8,
          trying to enforce it through the BOM isn’t going to add much.</p>
      </div>
    </blockquote>
    No part of this proposal states "if you see a BOM, then you must use
    UTF-8".  It only suggests guidelines; requirements are imposed by
    protocols as deemed appropriate by the protocol designers.<br>
    <blockquote type="cite"
cite="mid:DM6PR00MB066537F06315610D637E5E2A82041@DM6PR00MB0665.namprd00.prod.outlook.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">IMO it’s better that everyone involved
          understand that this legacy app that can’t handle UTF-8 by
          default isn’t necessarily going to behave per any set
          expectations and likely has legacy behaviors that users may
          need to deal with. 
          <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Granted, the difference between
          “requiring,” and “suggesting” or “recommending”, may be
          subtle, however those subtleties can sometimes cause
          unnecessary pain.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I don’t mind mandating UTF-8 without BOM if
          possible.  I don’t really mind mandating that BOMs be ignored
          if “without BOM” isn’t reasonable to mandate.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">After that though, it’s trying to create a
          higher order protocol for codepage detection.  BOM isn’t a
          great way to identify UTF-8 data.  (It’s probably more
          effective to decode it as UTF-8.  If it decodes properly, then
          it’s likely UTF-8.  With a certainty of about as many “nines”
          as you have bytes of input.  Linguistically appropriate
          strings that fail that test are rare.)</p>
      </div>
    </blockquote>
    <p>We are agreed on these points.<br>
    </p>
    <p>Tom.<br>
    </p>
    <blockquote type="cite"
cite="mid:DM6PR00MB066537F06315610D637E5E2A82041@DM6PR00MB0665.namprd00.prod.outlook.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">-Shawn<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b>From:</b> Tom Honermann
              <a class="moz-txt-link-rfc2396E" href="mailto:tom@honermann.net"><tom@honermann.net></a> <br>
              <b>Sent:</b> Tuesday, October 13, 2020 1:04 PM<br>
              <b>To:</b> Shawn Steele
              <a class="moz-txt-link-rfc2396E" href="mailto:Shawn.Steele@microsoft.com"><Shawn.Steele@microsoft.com></a>; Alisdair Meredith
              <a class="moz-txt-link-rfc2396E" href="mailto:alisdairm@me.com"><alisdairm@me.com></a><br>
              <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:sg16@lists.isocpp.org">sg16@lists.isocpp.org</a>; Unicode Mail List
              <a class="moz-txt-link-rfc2396E" href="mailto:unicode@unicode.org"><unicode@unicode.org></a><br>
              <b>Subject:</b> Re: [SG16] Draft proposal: Clarify
              guidance for use of a BOM as a UTF-8 encoding signature<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">On 10/12/20 4:54 PM, Shawn Steele wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">I’m having trouble with the attempt to be
            this prescriptive.<br>
            <br>
            These make sense:  “Use Unicode!”<o:p></o:p></p>
          <ul type="disc">
            <li class="MsoNormal"
              style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
              level1 lfo3">
              If possible, mandate use of UTF-8 without a BOM; diagnose
              the presence of a BOM in consumed text as an error, and
              produce text without a BOM.<o:p></o:p></li>
            <li class="MsoNormal"
              style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
              level1 lfo3">
              Alternatively, swallow the BOM if present.<o:p></o:p></li>
          </ul>
          <p class="MsoNormal"
            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">After
            that the situation is clearly hopeless.  Applications should
            Use Unicode, eg: UTF-8, and clearly there are cases
            happening where that isn’t happening.  Trying to prescribe
            that negotiation should therefore happen, or that BOMs
            should be interpreted or whatever is fairly meaningless at
            that point.  Given that the higher-order guidance of “Use
            Unicode” has already been ignored, at this point it’s
            garbage-in, garbage-out.  Clearly the app/whatever is
            ignoring the “use unicode” guidance for some legacy reason. 
            If they could adapt, it should be to use UTF-8.   It *<b>might</b>*
            be helpful to say something about a BOM likely indicating
            UTF-8 text in otherwise unspecified data, but prescriptive
            stuff is pointless, it’s legacy stuff that behaves in a
            legacy fashion for a reason and saying they should have done
            it differently 20 years ago isn’t going to help
            <span style="font-family:"Segoe UI
              Emoji",sans-serif">😊</span>  <o:p></o:p></p>
        </blockquote>
        <p>There are applications that, for legacy reasons, are unable
          to change their default encoding to UTF-8, but that also need
          to handle UTF-8 text.  It is not clear to me that such
          situations are hopeless or that they cannot be improved.<o:p></o:p></p>
        <p>The prescription offered follows what you suggest.  The first
          three cases are are all of the "use Unicode!" variety.  The
          distinction between the third and the fourth is to relegate
          use of a BOM as an encoding signature to the last resort
          option.  The intent is to make it clear, with stronger
          motivation than is currently present in the Unicode standard,
          that use of a BOM in UTF-8 is not a best practice today.<o:p></o:p></p>
        <p>Tom.<o:p></o:p></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"
            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">-Shawn<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b>From:</b> Unicode <a
                  href="mailto:unicode-bounces@unicode.org"
                  moz-do-not-send="true">
                  <unicode-bounces@unicode.org></a> <b>On Behalf
                  Of </b>Tom Honermann via Unicode<br>
                <b>Sent:</b> Monday, October 12, 2020 7:03 AM<br>
                <b>To:</b> Alisdair Meredith <a
                  href="mailto:alisdairm@me.com" moz-do-not-send="true"><alisdairm@me.com></a><br>
                <b>Cc:</b> <a href="mailto:sg16@lists.isocpp.org"
                  moz-do-not-send="true">sg16@lists.isocpp.org</a>;
                Unicode List
                <a href="mailto:unicode@unicode.org"
                  moz-do-not-send="true"><unicode@unicode.org></a><br>
                <b>Subject:</b> Re: [SG16] Draft proposal: Clarify
                guidance for use of a BOM as a UTF-8 encoding signature<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"> <o:p></o:p></p>
          <div>
            <p class="MsoNormal">Great, here is the change I'm making to
              address this:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <div>
              <p class="MsoNormal">Protocol designers:<o:p></o:p></p>
            </div>
            <div>
              <ul type="disc">
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                  level1 lfo3">
                  If possible, mandate use of UTF-8 without a BOM;
                  diagnose the presence of a BOM in consumed text as an
                  error, and produce text without a BOM.<o:p></o:p></li>
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                  level1 lfo3">
                  Otherwise, if possible, mandate use of UTF-8 with or
                  without a BOM; accept and discard a BOM in consumed
                  text, and produce text without a BOM.<o:p></o:p></li>
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                  level1 lfo3">
                  Otherwise, if possible, use UTF-8 as the default
                  encoding with use of other encodings negotiated using
                  information other than a BOM; accept and discard a BOM
                  in consumed text, and produce text without a BOM.<o:p></o:p></li>
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                  level1 lfo3">
                  Otherwise, require the presence of a BOM to
                  differentiate UTF-8 encoded text in both consumed and
                  produced text<b><span style="color:#009900"> unless
                      the absence of a BOM would result in the text
                      being interpreted as an ASCII-based encoding and
                      the UTF-8 text contains no non-ASCII characters
                      (the exception is intended to avoid the addition
                      of a BOM to ASCII text thus rendering such text as
                      non-ASCII)</span></b>. This approach should be
                  reserved for scenarios in which UTF-8 cannot be
                  adopted as a default due to backward compatibility
                  concerns.<o:p></o:p></li>
              </ul>
            </div>
          </blockquote>
          <div>
            <p class="MsoNormal">Tom.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"> <o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal">On 10/12/20 8:40 AM, Alisdair Meredith
              wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal">That addresses my main concern.
               Essentially, best practice (for UTF-8) would be no BOM
              unless the document contains code points that require
              multiple code units to express.
              <o:p></o:p></p>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">AlisdairM<o:p></o:p></p>
              <div>
                <p class="MsoNormal"><br>
                  <br>
                  <br>
                  <o:p></o:p></p>
                <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                  <div>
                    <p class="MsoNormal">On Oct 11, 2020, at 23:22, Tom
                      Honermann <<a href="mailto:tom@honermann.net"
                        moz-do-not-send="true">tom@honermann.net</a>>
                      wrote:<o:p></o:p></p>
                  </div>
                  <p class="MsoNormal"> <o:p></o:p></p>
                  <div>
                    <div>
                      <div>
                        <p class="MsoNormal">On 10/10/20 7:58 PM,
                          Alisdair Meredith via SG16 wrote:<o:p></o:p></p>
                      </div>
                      <blockquote
                        style="margin-top:5.0pt;margin-bottom:5.0pt">
                        <p class="MsoNormal">One concern I have, that
                          might lead into rationale for the current
                          discouragement,
                          <o:p></o:p></p>
                        <div>
                          <p class="MsoNormal">is that I would hate to
                            see a best practice that pushes a BOM into
                            ASCII files.<o:p></o:p></p>
                        </div>
                        <div>
                          <p class="MsoNormal">One of the nice
                            properties of UTF-8 is that a valid ASCII
                            file (still very common) is<o:p></o:p></p>
                        </div>
                        <div>
                          <p class="MsoNormal">also a valid UTF-8 file.
                             Changing best practice would encourage
                            updating those<o:p></o:p></p>
                        </div>
                        <div>
                          <p class="MsoNormal">files to be no longer
                            ASCII.<o:p></o:p></p>
                        </div>
                      </blockquote>
                      <p class="MsoNormal"
                        style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks,
                        Alisdair.  I think that concern is implicitly
                        addressed by the suggested resolutions, but
                        perhaps that can be made more clear.  One
                        possibility would be to modify the "protocol
                        designer" guidelines to address the case where a
                        protocol's default encoding is ASCII based and
                        to specify that a BOM is only required for UTF-8
                        text that contains non-ASCII characters.  Would
                        that be helpful?<o:p></o:p></p>
                      <p class="MsoNormal"
                        style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Tom.<o:p></o:p></p>
                      <blockquote
                        style="margin-top:5.0pt;margin-bottom:5.0pt">
                        <div>
                          <p class="MsoNormal"> <o:p></o:p></p>
                        </div>
                        <div>
                          <p class="MsoNormal">AlisdairM<o:p></o:p></p>
                          <div>
                            <p class="MsoNormal"><br>
                              <br>
                              <br>
                              <o:p></o:p></p>
                            <blockquote
                              style="margin-top:5.0pt;margin-bottom:5.0pt">
                              <div>
                                <p class="MsoNormal">On Oct 10, 2020, at
                                  14:54, Tom Honermann via SG16 <<a
                                    href="mailto:sg16@lists.isocpp.org"
                                    moz-do-not-send="true">sg16@lists.isocpp.org</a>>
                                  wrote:<o:p></o:p></p>
                              </div>
                              <p class="MsoNormal"> <o:p></o:p></p>
                              <div>
                                <div>
                                  <p class="MsoNormal"
                                    style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Attached
                                    is a draft proposal for the Unicode
                                    standard that intends to clarify the
                                    current recommendation regarding use
                                    of a BOM in UTF-8 text.  This is
                                    follow up to
                                    <a
                                      href="https://corp.unicode.org/pipermail/unicode/2020-June/008713.html"
                                      moz-do-not-send="true">discussion
                                      on the Unicode mailing list</a>
                                    back in June.<o:p></o:p></p>
                                  <p class="MsoNormal"
                                    style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Feedback
                                    is welcome.  I plan to
                                    <a
                                      href="https://www.unicode.org/pending/docsubmit.html"
                                      moz-do-not-send="true">submit</a>
                                    this to the UTC in a week or so
                                    pending review feedback.<o:p></o:p></p>
                                  <p class="MsoNormal"
                                    style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Tom.<o:p></o:p></p>
                                </div>
                                <p class="MsoNormal"><Unicode-BOM-guidance.pdf>--
                                  <br>
                                  SG16 mailing list<br>
                                  <a href="mailto:SG16@lists.isocpp.org"
                                    moz-do-not-send="true">SG16@lists.isocpp.org</a><br>
                                  <a
                                    href="https://lists.isocpp.org/mailman/listinfo.cgi/sg16"
                                    moz-do-not-send="true">https://lists.isocpp.org/mailman/listinfo.cgi/sg16</a><o:p></o:p></p>
                              </div>
                            </blockquote>
                          </div>
                          <p class="MsoNormal"> <o:p></o:p></p>
                        </div>
                        <p class="MsoNormal"><br>
                          <br>
                          <br>
                          <o:p></o:p></p>
                      </blockquote>
                      <p class="MsoNormal"
                        style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                    </div>
                  </div>
                </blockquote>
              </div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
          </blockquote>
          <p> <o:p></o:p></p>
        </blockquote>
        <p><o:p> </o:p></p>
      </div>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>