`
ehilcoder
  • 浏览: 49013 次
社区版块
存档分类
最新评论

Shift_JIS<>CP932=MS932=Windows-31J

阅读更多

转载地址:http://una.soragoto.net/topics/13.html

 

Windows標準の文字コードはShift_JISではなく、Windows-31Jです。
 それらの違いやCP932、MS932といった用語もあわせて整理してみましょう。

 まずはShift_JIS
 これは日本語の文字集合を符号化する文字符号化方式のうちの一つです。
 Microsoftにより、MS-DOSの標準日本語コードとして採用され、CP932という管理番号を与えられるとともに独自の拡張が行われました。

 MicrosoftはこのCP932を独自に拡張することを、OEMメーカー(MS-DOSを搭載したパソコンを販売するメーカー)に許していたため、各OEMメーカーごとに異なる拡張が行われました。

 その後、MicrosoftはWindows3.1の日本語版を出すにあたり、OEMメーカーにCP932の独自拡張を許すという方針を撤回し、当時、日本のパソコン市場で特に大きなシェアを持っていたIBMとNECによって独自に拡張されたCP932を統合し、これをWindowsにおける日本語標準コードとしました。

 Windowsの日本語標準コードとなったCP932は、IANA(インターネットに関連する番号を管理する組織)にWindows-31Jという名前で登録されました。

 Javaの世界では、IBMのCP932とWindows-31Jを区別するために、MS932という用語が使われます。

 

図1


 上の図からもわかるように、「CP932」、「MS932」、「Windows-31J」は同じものをさしています。そしてそれは「Shift_JIS」とは異なるものですが、実際には「Windows-31J」をさす場合に「Shift_JIS」という言葉が使われることが多々あります。

 たいていの場合はそれで問題ないかもしれませんが、プログラミングにおいて、文字コードに「Windows-31J」と指定すべきところを、「Shift_JIS」と指定したがゆえに、文字化けを引き起こすことがあります。「Windows-31J」で定義されている文字が「Shift_JIS」にはない場合です。

 プログラミングをする場合にはしっかりおさえておきたいところです。

分享到:
评论

相关推荐

    Shift_JIS_table(unicode)码表

    ### Shift_JIS_table(Unicode)码表解析与应用 #### Shift_JIS简介 Shift_JIS(Shift Japanese Industrial Standards)是一种用于表示日文字符的编码方式,由日本工业标准委员会(JISC)制定,并广泛应用于日语环境...

    日文Shift_JIS码表

    Shift_JIS,全称为"Shift Out/Shift In JIS Code",是一种广泛用于日本的字符编码标准,尤其在计算机系统和网络中应用颇广。它基于JIS X 0208和JIS X 0212字符集,包含了平假名、片假名、汉字以及其他特殊符号。...

    ubuntu 上将utf8等编码格式转换为shift_jis格式的安装包

    ubuntu 上将utf8等编码格式转换为shift_jis格式的安装包,共三个enca_1.12-1_i386.deb libenca0_1.12-1_i386.deb librecode0_3.6-17_i386.deb

    Shift JIS编码表

    例如,在电子邮件和网页中,可能会使用MIME编码的"iso-2022-jp"来表示Shift JIS,或者在HTML文档中使用`&lt;meta&gt;`标签指定字符集为Shift JIS。 总的来说,Shift JIS编码作为日文处理的重要工具,虽然有其独特的优势,...

    Option Explicit

    vbCritical, "错误"&lt;br&gt; Exit Sub&lt;br&gt; End If&lt;br&gt; &lt;br&gt;&lt;br&gt; &lt;br&gt; '设置msSql&lt;br&gt; 'msSql = msSelect & msTableName & " where tzdate&gt;='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and tzdate&lt;='" ...

    VHDL时钟倍频的设计

    CLKOUT_PHASE_SHIFT =&gt; "NONE", -- Specify phase shift of NONE, FIXED or VARIABLE CLK_FEEDBACK =&gt; "1X", -- Specify clock feedback of NONE, 1X or 2X DESKEW_ADJUST =&gt; "SYSTEM_SYNCHRONOUS", -- SOURCE_...

    文件代码类型的相互转换,Shift_JIS、EUC-JP、ISO-2022-JP、 Unicode、UTF-8

    实现不同文件代码类型,诸如 Shift_JIS、EUC-JP、ISO-2022-JP、 Unicode、UTF-8 的相互変換,FREE软件

    EUC-JP, JIS, Shift-JIS转码

    JIS -&gt; Shift-JIS 用公式来表示的话: 1. 第一个字节如果为奇数,在第二个字节上加上 0x1F(31),如果为偶数,在第二个字节上加上 0x7E(126) 2. 如果第二个字节小于 0x7E,直接加上 0x40 3. 如果第二个字节大于或...

    mt4缠论模板

    &lt;indicator&gt; name=main &lt;object&gt; type=16 object_name=Rectangle 22684 period_flags=0 create_time=1427593372 color=16777215 style=0 weight=1 background=1 filling=0 selectable=1 hidden=0 zorder=0 time_0=...

    Shift-JIS-A.tbl

    Shift-JIS-A编码字符表 Shift-JIS-A编码字符表 Shift-JIS-A编码字符表

    码表JIS_table(unicode)

    Shift_JIS是一种用于日语字符的编码方式,它在Windows和其他一些环境中被广泛使用。该编码标准由日本的ASCII公司开发,作为对旧版JIS X 0201和JIS X 0208标准的扩展。 ### Shift_JIS编码简介 Shift_JIS(Shift ...

    JapaneseCharsetConvert:日语字符集转换

    Shift_JIS 通过映射到 windows-31j (MS932) 对应于从属字符。 对于 JIS (ISO-2022-JP),它通过映射到 x-windows-iso2022jp 对应于等效于 MS932 的依赖字符。在代码中,应使用 Shift_JIS 和 ISO-2022-JP。 JavaMail ...

    字符编码转换 convert unicode to Shift-JIS

    各类编码转换,从unicode 到 Shift-JIS

    Shift Register VHDL

    port map (clk =&gt; clk, shift_en =&gt; shift_en, shift_dir =&gt; shift_dir, data_in =&gt; data_in, data_out =&gt; data_out); clk_process : process begin clk &lt;= '0'; wait for 5 ns; clk &lt;= '1'; wait for 5 ns;...

    C、Java和Python的BNF范式

    &lt;comparison&gt; ::= &lt;shift-expression&gt; ( (&lt;comp-op&gt; &lt;shift-expression&gt;)?)* ``` 这些BNF范式是理解语言内部构造的关键,它们帮助开发者和编译器/解释器明确知道合法代码的结构。通过学习这些规则,你可以更深入地...

    07_uart_test.rar_uart_uart verilog

    tx_shift_reg &lt;= {tx_shift_reg[6:0], ~tx_shift_reg[7]}; // 数据位或校验位 end if (tx_shift_reg == 'b1 && parity_check) begin start_tx &lt;= 0; // 发送完成 end end ``` 3. **UART接收器**:捕获串行输入...

    桌面图标排列助手1.2版

    &lt;br&gt; 在屏幕上绘出辅助线,图标就会沿辅助线排列:-)&lt;br&gt; 绘辅助线的方法与Windows的画图工具相同,按住Shift键可以绘制规则辅助线。&lt;br&gt;&lt;br&gt;“撤销”和“重复”:&lt;br&gt; 排列图标的过中,可点“撤销”按钮恢复上一次...

    e_shiftregister_in_shiftregisterVHDL_

    stored_data &lt;= (others =&gt; '0'); shift_count &lt;= 0; elsif rising_edge(clk) and shift_en = '1' then if shift_dir = '0' then -- right shift stored_data &lt;= stored_data(6 downto 0) & stored_data(7); ...

    932 shift jis对照表

    932 shift jis对照表,汉化日语游戏用到

    Linux基本的键盘输入快捷键和一些常用命令.docx

    * &lt;Shift&gt;&lt;PgDown&gt; 回滚终端输出 四、屏幕解析率调整 * &lt;Ctrl&gt;&lt;Alt&gt;+ 改变 X 服务器的屏幕解析率 * &lt;Ctrl&gt;&lt;Alt&gt;- 回到上一次的屏幕解析率设置 五、窗口管理 * &lt;Ctrl&gt;&lt;Alt&gt;&lt;Esc&gt; 关闭当前窗口 * &lt;Ctrl&gt;&lt;Alt&gt;...

Global site tag (gtag.js) - Google Analytics