Files
hustoj/web/python-docs/library/unicodedata.html
2025-03-09 17:10:56 +08:00

386 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_CN">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>unicodedata --- Unicode 数据库 &#8212; Python 3.8.20 文档</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<script src="../_static/translations.js"></script>
<script src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="在 Python 3.8.20 文档 中搜索"
href="../_static/opensearch.xml"/>
<link rel="author" title="关于这些文档" href="../about.html" />
<link rel="index" title="索引" href="../genindex.html" />
<link rel="search" title="搜索" href="../search.html" />
<link rel="copyright" title="版权所有" href="../copyright.html" />
<link rel="next" title="stringprep --- 因特网字符串预备" href="stringprep.html" />
<link rel="prev" title="textwrap --- 文本自动换行与填充" href="textwrap.html" />
<link rel="canonical" href="https://docs.python.org/3/library/unicodedata.html" />
<style>
@media only screen {
table.full-width-table {
width: 100%;
}
}
</style>
<link rel="shortcut icon" type="image/png" href="../_static/py.svg" />
<script type="text/javascript" src="../_static/copybutton.js"></script>
<script type="text/javascript" src="../_static/menu.js"></script>
</head>
<body>
<div class="mobile-nav">
<input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" />
<label for="menuToggler" class="toggler__label">
<span></span>
</label>
<nav class="nav-content" role="navigation">
<a href="https://www.python.org/" class="nav-logo">
<img src="../_static/py.svg" alt="Logo"/>
</a>
<div class="version_switcher_placeholder"></div>
<form role="search" class="search" action="../search.html" method="get">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
<path fill-rule="nonzero"
d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" fill="#444"></path>
</svg>
<input type="text" name="q" aria-label="快速搜索"/>
<input type="submit" value="转向"/>
</form>
</nav>
<div class="menu-wrapper">
<nav class="menu" role="navigation" aria-label="main navigation">
<div class="language_switcher_placeholder"></div>
<h4>上一个主题</h4>
<p class="topless"><a href="textwrap.html"
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">textwrap</span></code> --- 文本自动换行与填充</a></p>
<h4>下一个主题</h4>
<p class="topless"><a href="stringprep.html"
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">stringprep</span></code> --- 因特网字符串预备</a></p>
<div role="note" aria-label="source link">
<h3>本页</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">报告 Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.8/Doc/library/unicodedata.rst"
rel="nofollow">显示源代码
</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<div id="outdated-warning" style="padding: .5em; text-align: center; background-color: #FFBABA; color: #6A0E0E;">
这个文档所针对的是一个已不再受支持的 Python 旧版本。
你应当升级版本,并阅读
<a href="/3/library/unicodedata.html"> Python 当前稳定版本的文档</a>.
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>导航</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="总目录"
accesskey="I">索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模块索引"
>模块</a> |</li>
<li class="right" >
<a href="stringprep.html" title="stringprep --- 因特网字符串预备"
accesskey="N">下一页</a> |</li>
<li class="right" >
<a href="textwrap.html" title="textwrap --- 文本自动换行与填充"
accesskey="P">上一页</a> |</li>
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.8.20 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="text.html" accesskey="U">文本处理服务</a> &#187;</li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
<input type="submit" value="转向" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
|
</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-unicodedata">
<span id="unicodedata-unicode-database"></span><h1><a class="reference internal" href="#module-unicodedata" title="unicodedata: Access the Unicode Database."><code class="xref py py-mod docutils literal notranslate"><span class="pre">unicodedata</span></code></a> --- Unicode 数据库<a class="headerlink" href="#module-unicodedata" title="永久链接至标题"></a></h1>
<hr class="docutils" id="index-0" />
<p>此模块提供了对 Unicode Character Database (UCD) 的访问,其中定义了所有 Unicode 字符的字符属性。 此数据库中包含的数据编译自 <a class="reference external" href="http://www.unicode.org/Public/12.1.0/ucd">UCD 版本 12.1.0</a></p>
<p>该模块使用与 Unicode 标准附件 #44 <a class="reference external" href="https://www.unicode.org/reports/tr44/">“Unicode 字符数据库”</a> 中所定义的相同名称和符号。 它定义了以下函数:</p>
<dl class="function">
<dt id="unicodedata.lookup">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">lookup</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.lookup" title="永久链接至目标"></a></dt>
<dd><p>按名称查找字符。如果找到具有给定名称的字符,则返回相应的字符。 如果没有找到,则 <a class="reference internal" href="exceptions.html#KeyError" title="KeyError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">KeyError</span></code></a> 被引发。</p>
<div class="versionchanged">
<p><span class="versionmodified changed">在 3.3 版更改: </span>已添加对名称别名 <a class="footnote-reference brackets" href="#id3" id="id1">1</a> 和命名序列 <a class="footnote-reference brackets" href="#id4" id="id2">2</a> 的支持。</p>
</div>
</dd></dl>
<dl class="function">
<dt id="unicodedata.name">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">name</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="optional">[</span>, <em class="sig-param">default</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.name" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的名称作为字符串。如果没有定义名称,则返回 <em>default</em> ,如果没有给出,则 <a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a> 被引发。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.decimal">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">decimal</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="optional">[</span>, <em class="sig-param">default</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.decimal" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的十进制值作为整数。 如果没有定义这样的值,则返回 <em>default</em> ,如果没有给出,则 <a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a> 被引发。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.digit">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">digit</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="optional">[</span>, <em class="sig-param">default</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.digit" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的数字值作为整数。 如果没有定义这样的值,则返回 <em>default</em> ,如果没有给出,则 <a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a> 被引发。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.numeric">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">numeric</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="optional">[</span>, <em class="sig-param">default</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.numeric" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的数值作为浮点数。 如果没有定义这样的值,则返回 <em>default</em> ,如果没有给出,则 <a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a> 被引发。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.category">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">category</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.category" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的常规类别为字符串。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.bidirectional">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">bidirectional</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.bidirectional" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的双向类作为字符串。如果未定义此类值,则返回空字符串。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.combining">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">combining</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.combining" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的规范组合类作为整数。如果没有定义组合类,则返回 <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.east_asian_width">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">east_asian_width</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.east_asian_width" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的东亚宽度作为字符串。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.mirrored">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">mirrored</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.mirrored" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的镜像属性为整数。如果字符在双向文本中被识别为“镜像”字符,则返回 <code class="docutils literal notranslate"><span class="pre">1</span></code> ,否则返回 <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.decomposition">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">decomposition</code><span class="sig-paren">(</span><em class="sig-param">chr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.decomposition" title="永久链接至目标"></a></dt>
<dd><p>返回分配给字符 <em>chr</em> 的字符分解映射作为字符串。如果未定义此类映射,则返回空字符串。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.normalize">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">normalize</code><span class="sig-paren">(</span><em class="sig-param">form</em>, <em class="sig-param">unistr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.normalize" title="永久链接至目标"></a></dt>
<dd><p>返回 Unicode 字符串 <em>unistr</em> 的正常形式 <em>form</em><em>form</em> 的有效值为 'NFC' 、 'NFKC' 、 'NFD' 和 'NFKD' 。</p>
<p>Unicode 标准基于规范等价和兼容性等效的定义定义了 Unicode 字符串的各种规范化形式。在 Unicode 中,可以以各种方式表示多个字符。 例如,字符 U+00C7 (带有 CEDILLA 的 LATIN CAPITAL LETTER C )也可以表示为序列 U+0043 LATIN CAPITAL LETTER C U+0327 COMBINING CEDILLA )。</p>
<p>对于每个字符,有两种正规形式:正规形式 C 和正规形式 D 。正规形式DNFD也称为规范分解并将每个字符转换为其分解形式。 正规形式CNFC首先应用规范分解然后再次组合预组合字符。</p>
<p>除了这两种形式之外,还有两种基于兼容性等效的其他常规形式。 在 Unicode 中,支持某些字符,这些字符通常与其他字符统一。 例如, U+2160ROMAN NUMERAL ONE与 U+0049LATIN CAPITAL LETTER I完全相同。 但是, Unicode 支持它与现有字符集(例如 gb2312 )的兼容性。</p>
<p>正规形式KDNFKD将应用兼容性分解即用其等价项替换所有兼容性字符。 正规形式KCNFKC首先应用兼容性分解然后是规范组合。</p>
<p>即使两个 unicode 字符串被规范化并且人类读者看起来相同,如果一个具有组合字符而另一个没有,则它们可能无法相等。</p>
</dd></dl>
<dl class="function">
<dt id="unicodedata.is_normalized">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">is_normalized</code><span class="sig-paren">(</span><em class="sig-param">form</em>, <em class="sig-param">unistr</em><span class="sig-paren">)</span><a class="headerlink" href="#unicodedata.is_normalized" title="永久链接至目标"></a></dt>
<dd><p>判断 Unicode 字符串 <em>unistr</em> 是否为正规形式 <em>form</em><em>form</em> 的有效值为 'NFC', 'NFKC', 'NFD' 和 'NFKD'。</p>
<div class="versionadded">
<p><span class="versionmodified added">3.8 新版功能.</span></p>
</div>
</dd></dl>
<p>此外,该模块暴露了以下常量:</p>
<dl class="data">
<dt id="unicodedata.unidata_version">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">unidata_version</code><a class="headerlink" href="#unicodedata.unidata_version" title="永久链接至目标"></a></dt>
<dd><p>此模块中使用的 Unicode 数据库的版本。</p>
</dd></dl>
<dl class="data">
<dt id="unicodedata.ucd_3_2_0">
<code class="sig-prename descclassname">unicodedata.</code><code class="sig-name descname">ucd_3_2_0</code><a class="headerlink" href="#unicodedata.ucd_3_2_0" title="永久链接至目标"></a></dt>
<dd><p>这是一个与整个模块具有相同方法的对象,但对于需要此特定版本的 Unicode 数据库(如 IDNA )的应用程序,则使用 Unicode 数据库版本 3.2 。</p>
</dd></dl>
<p>示例:</p>
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">unicodedata</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">unicodedata</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span><span class="s1">&#39;LEFT CURLY BRACKET&#39;</span><span class="p">)</span>
<span class="go">&#39;{&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">unicodedata</span><span class="o">.</span><span class="n">name</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
<span class="go">&#39;SOLIDUS&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">unicodedata</span><span class="o">.</span><span class="n">decimal</span><span class="p">(</span><span class="s1">&#39;9&#39;</span><span class="p">)</span>
<span class="go">9</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">unicodedata</span><span class="o">.</span><span class="n">decimal</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">)</span>
<span class="gt">Traceback (most recent call last):</span>
File <span class="nb">&quot;&lt;stdin&gt;&quot;</span>, line <span class="m">1</span>, in <span class="n">&lt;module&gt;</span>
<span class="gr">ValueError</span>: <span class="n">not a decimal</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">unicodedata</span><span class="o">.</span><span class="n">category</span><span class="p">(</span><span class="s1">&#39;A&#39;</span><span class="p">)</span> <span class="c1"># &#39;L&#39;etter, &#39;u&#39;ppercase</span>
<span class="go">&#39;Lu&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">unicodedata</span><span class="o">.</span><span class="n">bidirectional</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\u0660</span><span class="s1">&#39;</span><span class="p">)</span> <span class="c1"># &#39;A&#39;rabic, &#39;N&#39;umber</span>
<span class="go">&#39;AN&#39;</span>
</pre></div>
</div>
<p class="rubric">备注</p>
<dl class="footnote brackets">
<dt class="label" id="id3"><span class="brackets"><a class="fn-backref" href="#id1">1</a></span></dt>
<dd><p><a class="reference external" href="http://www.unicode.org/Public/12.1.0/ucd/NameAliases.txt">http://www.unicode.org/Public/12.1.0/ucd/NameAliases.txt</a></p>
</dd>
<dt class="label" id="id4"><span class="brackets"><a class="fn-backref" href="#id2">2</a></span></dt>
<dd><p><a class="reference external" href="http://www.unicode.org/Public/12.1.0/ucd/NamedSequences.txt">http://www.unicode.org/Public/12.1.0/ucd/NamedSequences.txt</a></p>
</dd>
</dl>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h4>上一个主题</h4>
<p class="topless"><a href="textwrap.html"
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">textwrap</span></code> --- 文本自动换行与填充</a></p>
<h4>下一个主题</h4>
<p class="topless"><a href="stringprep.html"
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">stringprep</span></code> --- 因特网字符串预备</a></p>
<div role="note" aria-label="source link">
<h3>本页</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">报告 Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.8/Doc/library/unicodedata.rst"
rel="nofollow">显示源代码
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>导航</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="总目录"
>索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模块索引"
>模块</a> |</li>
<li class="right" >
<a href="stringprep.html" title="stringprep --- 因特网字符串预备"
>下一页</a> |</li>
<li class="right" >
<a href="textwrap.html" title="textwrap --- 文本自动换行与填充"
>上一页</a> |</li>
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.8.20 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="text.html" >文本处理服务</a> &#187;</li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
<input type="submit" value="转向" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
|
</li>
</ul>
</div>
<div class="footer">
&copy; <a href="../copyright.html">版权所有</a> 2001-2024, Python Software Foundation.
<br />
This page is licensed under the Python Software Foundation License Version 2.
<br />
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
<br />
<br />
The Python Software Foundation is a non-profit corporation.
<a href="https://www.python.org/psf/donations/">Please donate.</a>
<br />
<br />
最后更新于 12月 09, 2024.
<a href="https://docs.python.org/3/bugs.html">Found a bug</a>?
<br />
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 2.4.4.
</div>
</body>
</html>