日本語が本格的に使えるようになりだした頃、そのコードはJISコードを巧妙に細工してモード切替を不要にしたシフトJISと呼ばれるものが使われました。当時は英語のみが使える環境でプログラムが作られることが殆どだったので、これを移植して日本語を扱えるようにすれば充分だということだったのです。 文字コード 最初に使われたのはCP/M-86という説もありますが、一般的に使われるようになったのはMS-DOS(PC-DOS)が最初です。これはWindowsにも引き継がれ、Macintoshも日本主導で日本語化が行われたという経緯もありシフトJISが使われました。 さてシフトJISの問題は米国標準であるASCIIに対する拡張であって、それ以外の国のローカルコードのことを考えていないことです。例えば英国では一部の記号がポンド記号に置き換わっているコードが使われていましたし、他のヨーロッパ諸国の言語でもいろい
1.はじめに UTF-8 の文字コードのファイルには、BOM (Byte Order Mark) がある場合とない場合がある。 Unicode の規格では、BOM は、推奨されないが、許容されている。 ja.wikipedia.org 今回、必要があり、色々な OS や言語で、UTF-8 の文字コードのファイルを作成した時、BOM が記録されるか、されないか、を調べた。 2.色々な OS や言語での BOM 2.1 Windows 10, Visual Studio, C++, _wfopen (_tfopen), // Visual Studio 2005 以降 保存 FILE *fp = _wfopen(name, _ L"w, ccs=UTF-8"); if (fp == NULL) { // エラー処理 } fwprintf_s(fp, L"ABC漢字123\n"); fclose
先日以下の記事を書きました。 ここでUTF-8の最初の文字かどうかの判定を以下の自作した関数で実装していました。 const ( t1 = 0b00000000 tx = 0b10000000 t2 = 0b00000110 t3 = 0b00001110 t4 = 0b00011110 ) func isUTF8LeadByte(tmp byte) bool { if tmp&tx == t1 { return true } tmp >>= 3 if tmp == t4 { return true } tmp >>= 1 if tmp == t3 { return true } tmp >>= 1 if tmp == t2 { return true } return false }
This grinning cat emoji has alert feline instincts with its eyes wide open. This kitty’s proud smile says, “please let me eat the rest of that tuna” and is the perfect face for cat lovers who want an alternative to the plain grinning face emoji. Use this emoji as a greeting for your crazy cat lady friends. Copy
パソコンの世界で漢字を含む日本語を扱えるようにするために、処理が煩雑になるJISコードをそのまま扱うのではなく、文字コードセットの切り替え処理が不要になるシフトJISというコードが発明されました。 このコードがどのような経緯でMS-DOSなどで採用されたのかは、あまり詳しくわからないのですが、この文字コードは規格ではなくあくまで実装に過ぎなかったので、メーカー独自の判断で構わないと思われていたようです。 MULTI16 - 遂に三菱電機もパソコンを出した この文字コードが身近に使われるようになったのは、MS-DOSが日本語に対応した1983年にリリースされた「日本語MS-DOS Ver2.x」からだと思います。この段階で階層化ディレクトリもサポートされ、CP/Mから継承したコマンドオプションは”/”で始まるというルールが仇となりパスの区切り文字がUNIXなどで使われていた”/”の代わりに”
Emojis are small picture-like symbols that can add context and emotion to written text. They are about the same size as a letter that can be typed, but unlike alphanumeric characters, they are usually depicted in color, and their meaning is often open to interpretation. The word emoji comes from combining the Japanese words for picture and character. The first emoji characters, introduced in the 9
Description of Issue: A draft UAX is now available for general public review and comment. This Unicode Standard Annex will be published as a part of Unicode 16.0. It describes the format and content of the Unikemet database, which will be added to the UCD to provide source and other information about Egyptian hieroglyphs. How to Provide Feedback: For information about how to discuss this Public Re
ここでunknown-8bitと出てきたのでドキッとしてしまいましたが、unknown-8bitはShift_JISのことだそうでホッと一安心。 文字コードを変換する 文字コードを変換するにはnkfコマンドを使います。 //未インストールの場合、Homebrewでnkfをインストール $ brew install nkf //ファイルをShift_JISに変換(上書き保存)する $ nkf -s --overwrite ファイル名 //ファイルをUTF-8に変換(上書き保存)する $ nkf -w --overwrite ファイル名 いろいろなcharset 上記のコマンドをテストしようとして適当にテキストファイルを作成したところ、コマンドはもちろんエディターの設定をいろいろ変えて保存してもfile --mimeでの出力結果がずっとus-asciiになってしまい、大いにハマりました。 原因
public function convertCsv($filePath){ $csv = new SplFileObject($filePath); $csv->setFlags( \SplFileObject::READ_CSV | // CSV 列として行を読み込む \SplFileObject::READ_AHEAD | // 先読み/巻き戻しで読み出す。 \SplFileObject::SKIP_EMPTY | // 空行は読み飛ばす \SplFileObject::DROP_NEW_LINE // 行末の改行を読み飛ばす ); $readData = collect($csv)->map(function($data,$key){ mb_convert_variables('UTF-8', 'SJIS-win', $data); . . . } 上記の置換、SJIS-winをそ
2024.05.28 これまで自治体の情報システムでは、自治体ごとに外字を作成していました。 また、それを管理するのに相当なコストがかかり、システム間のデータ連携で文字化けが生じるなど課題もありました。 システム更新の際にも、特定のベンダーがつくった外字が支障となって、他のシステムに乗り替えることができず、ベンダーロックインを助長していました。 こうした課題を解決するために、デジタル庁では、自治体の基幹業務システムの統一・標準化の一環として、標準準拠システムで共通に使う文字を定義しました。 これまで全国の自治体が戸籍システムで使っている漢字の総数は約163万字ありました。 この163万字の中には、同じ文字でも港区がつくった外字と中央区でつくった外字はそれぞれ一文字として数えられていました。 こうした重複を除くと約70万字になります。 この70万字の中のこの字とこの字は同じ字だというのを同定
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く