<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:15:07 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-2403] Does libbson implement UTF-8 or CESU-8?</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2403</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;In _bson_utf8_get_sequence we allow character lengths up to 6 bytes, which indicates we&apos;re parsing the CESU-8 character set, not string UTF-8. Figure out if this is true and if we did it correctly. If so, document it.&lt;/p&gt;</description>
                <environment></environment>
        <key id="462901">CDRIVER-2403</key>
            <summary>Does libbson implement UTF-8 or CESU-8?</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Wed, 22 Nov 2017 16:03:05 +0000</created>
                <updated>Sat, 28 Oct 2023 11:30:17 +0000</updated>
                            <resolved>Tue, 26 Dec 2017 19:23:04 +0000</resolved>
                                                    <fixVersion>1.10.0</fixVersion>
                                    <component>libbson</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1752460" author="xgen-internal-githook" created="Thu, 14 Dec 2017 20:50:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Xiangyu Yao&apos;, &apos;email&apos;: &apos;xiangyu.yao24@gmail.com&apos;, &apos;username&apos;: &apos;xy24&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2403&quot; title=&quot;Does libbson implement UTF-8 or CESU-8?&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2403&quot;&gt;&lt;del&gt;CDRIVER-2403&lt;/del&gt;&lt;/a&gt; all bson-utf8 relevant functions conform to RFC-3629 now&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/c9b20923296d28203706a1ef0134b341b860aab5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/c9b20923296d28203706a1ef0134b341b860aab5&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1745630" author="xiangyu.yao" created="Thu, 7 Dec 2017 17:29:42 +0000"  >&lt;p&gt;As the wikipedia points out&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In November 2003, UTF-8 was restricted by RFC 3629 to match the constraints of the UTF-16 character encoding: explicitly prohibiting code points corresponding to the high and low surrogate characters removed more than 3% of the three-byte sequences, and ending at U+10FFFF removed more than 48% of the four-byte sequences and all five- and six-byte sequences.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;, I am going to change our implementation to 4-byte standard in case it&apos;s incompatible with other drivers or the mongodb server.&lt;/p&gt;</comment>
                            <comment id="1745523" author="xiangyu.yao" created="Thu, 7 Dec 2017 16:35:33 +0000"  >&lt;p&gt;After communicating with the original author Christian Hergert and doing some experiments on my own, I realized bson-utf8.c indeed implements UTF-8 encode rather than CESU-8. &lt;/p&gt;

&lt;p&gt;On the &lt;a href=&quot;https://en.wikipedia.org/wiki/UTF-8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;wikipedia page of UTF-8&lt;/a&gt;, in the &apos;Description&apos; section, the diagram shows the UTF-8 encode is in maximum size of 4 bytes while in the &apos;History&apos; section, a diagram shows the encode can be up to 6 bytes. (FSS-UTF (1992) / UTF-8 (1993)). Here we just chose the 6-byte standard. There isn&apos;t any difference except that the maximum unicode supported is from 0x10FFFF to 0x7FFFFFFF. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="462507">CDRIVER-2401</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htccef:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>