perlebcdic.html
来自「perl教程」· HTML 代码 · 共 806 行 · 第 1/5 页
HTML
806 行
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>perlebcdic - Considerations for running Perl on EBCDIC platforms</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>perlebcdic - Considerations for running Perl on EBCDIC platforms</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#common_character_code_sets">COMMON CHARACTER CODE SETS</a></li>
<ul>
<li><a href="#ascii">ASCII</a></li>
<li><a href="#iso_8859">ISO 8859</a></li>
<li><a href="#latin_1__iso_88591_">Latin 1 (ISO 8859-1)</a></li>
<li><a href="#ebcdic">EBCDIC</a></li>
<li><a href="#13_variant_characters">13 variant characters</a></li>
<li><a href="#0037">0037</a></li>
<li><a href="#1047">1047</a></li>
<li><a href="#posixbc">POSIX-BC</a></li>
<li><a href="#unicode_code_points_versus_ebcdic_code_points">Unicode code points versus EBCDIC code points</a></li>
<li><a href="#remaining_perl_unicode_problems_in_ebcdic">Remaining Perl Unicode problems in EBCDIC</a></li>
<li><a href="#unicode_and_utf">Unicode and UTF</a></li>
<li><a href="#using_encode">Using Encode</a></li>
</ul>
<li><a href="#single_octet_tables">SINGLE OCTET TABLES</a></li>
<li><a href="#identifying_character_code_sets">IDENTIFYING CHARACTER CODE SETS</a></li>
<li><a href="#conversions">CONVERSIONS</a></li>
<ul>
<li><a href="#tr___">tr///</a></li>
<li><a href="#iconv">iconv</a></li>
<li><a href="#c_rtl">C RTL</a></li>
</ul>
<li><a href="#operator_differences">OPERATOR DIFFERENCES</a></li>
<li><a href="#function_differences">FUNCTION DIFFERENCES</a></li>
<li><a href="#regular_expression_differences">REGULAR EXPRESSION DIFFERENCES</a></li>
<li><a href="#sockets">SOCKETS</a></li>
<li><a href="#sorting">SORTING</a></li>
<ul>
<li><a href="#ignore_ascii_vs__ebcdic_sort_differences_">Ignore ASCII vs. EBCDIC sort differences.</a></li>
<li><a href="#mono_case_then_sort_data_">MONO CASE then sort data.</a></li>
<li><a href="#convert__sort_data__then_re_convert_">Convert, sort data, then re convert.</a></li>
<li><a href="#perform_sorting_on_one_type_of_machine_only_">Perform sorting on one type of machine only.</a></li>
</ul>
<li><a href="#transformation_formats">TRANSFORMATION FORMATS</a></li>
<ul>
<li><a href="#url_decoding_and_encoding">URL decoding and encoding</a></li>
<li><a href="#uu_encoding_and_decoding">uu encoding and decoding</a></li>
<li><a href="#quotedprintable_encoding_and_decoding">Quoted-Printable encoding and decoding</a></li>
<li><a href="#caesarian_ciphers">Caesarian ciphers</a></li>
</ul>
<li><a href="#hashing_order_and_checksums">Hashing order and checksums</a></li>
<li><a href="#i18n_and_l10n">I18N AND L10N</a></li>
<li><a href="#multi_octet_character_sets">MULTI OCTET CHARACTER SETS</a></li>
<li><a href="#os_issues">OS ISSUES</a></li>
<ul>
<li><a href="#os_400">OS/400</a></li>
<li><a href="#os_390__z_os">OS/390, z/OS</a></li>
<li><a href="#vm_esa">VM/ESA?</a></li>
<li><a href="#posixbc">POSIX-BC?</a></li>
</ul>
<li><a href="#bugs">BUGS</a></li>
<li><a href="#see_also">SEE ALSO</a></li>
<li><a href="#references">REFERENCES</a></li>
<li><a href="#history">HISTORY</a></li>
<li><a href="#author">AUTHOR</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>perlebcdic - Considerations for running Perl on EBCDIC platforms</p>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>An exploration of some of the issues facing Perl programmers
on EBCDIC based computers. We do not cover localization,
internationalization, or multi byte character set issues other
than some discussion of UTF-8 and UTF-EBCDIC.</p>
<p>Portions that are still incomplete are marked with XXX.</p>
<p>
</p>
<hr />
<h1><a name="common_character_code_sets">COMMON CHARACTER CODE SETS</a></h1>
<p>
</p>
<h2><a name="ascii">ASCII</a></h2>
<p>The American Standard Code for Information Interchange is a set of
integers running from 0 to 127 (decimal) that imply character
interpretation by the display and other <a href="../../lib/Pod/perlfunc.html#item_system"><code>system(s)</code></a> of computers.
The range 0..127 can be covered by setting the bits in a 7-bit binary
digit, hence the set is sometimes referred to as a "7-bit ASCII".
ASCII was described by the American National Standards Institute
document ANSI X3.4-1986. It was also described by ISO 646:1991
(with localization for currency symbols). The full ASCII set is
given in the table below as the first 128 elements. Languages that
can be written adequately with the characters in ASCII include
English, Hawaiian, Indonesian, Swahili and some Native American
languages.</p>
<p>There are many character sets that extend the range of integers
from 0..2**7-1 up to 2**8-1, or 8 bit bytes (octets if you prefer).
One common one is the ISO 8859-1 character set.</p>
<p>
</p>
<h2><a name="iso_8859">ISO 8859</a></h2>
<p>The ISO 8859-$n are a collection of character code sets from the
International Organization for Standardization (ISO) each of which
adds characters to the ASCII set that are typically found in European
languages many of which are based on the Roman, or Latin, alphabet.</p>
<p>
</p>
<h2><a name="latin_1__iso_88591_">Latin 1 (ISO 8859-1)</a></h2>
<p>A particular 8-bit extension to ASCII that includes grave and acute
accented Latin characters. Languages that can employ ISO 8859-1
include all the languages covered by ASCII as well as Afrikaans,
Albanian, Basque, Catalan, Danish, Faroese, Finnish, Norwegian,
Portuguese, Spanish, and Swedish. Dutch is covered albeit without
the ij ligature. French is covered too but without the oe ligature.
German can use ISO 8859-1 but must do so without German-style
quotation marks. This set is based on Western European extensions
to ASCII and is commonly encountered in world wide web work.
In IBM character code set identification terminology ISO 8859-1 is
also known as CCSID 819 (or sometimes 0819 or even 00819).</p>
<p>
</p>
<h2><a name="ebcdic">EBCDIC</a></h2>
<p>The Extended Binary Coded Decimal Interchange Code refers to a
large collection of slightly different single and multi byte
coded character sets that are different from ASCII or ISO 8859-1
and typically run on host computers. The EBCDIC encodings derive
from 8 bit byte extensions of Hollerith punched card encodings.
The layout on the cards was such that high bits were set for the
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?