こんにちは、バックエンドエンジニアでPHPerの江間(meihei)です。 今回は、 CSV ファイルのリーダーとして LeagueCSV を使用したので、その実際に導入した時の実装方法についてご紹介します。 この記事は meihei GW アドベントカレンダー2日目の記事です。
非最小形式の不正なエンコーディングに注意 UTF-8 は文字によって1文字あたりのバイト数が1バイトから4バイト(もしくは6バイト)と可変長なエンコーディングです。Unicode の各文字がどのようなバイト列で表現されるかは、下表のようになっています。 Unicode 文字範囲UTF-8 でのバイト列(2進数) U+0000〜U+007F 0xxxxxxx U+0080〜U+07FF 110xxxxx 10xxxxxx U+0800〜U+FFFF 1110xxxx 10xxxxxx 10xxxxxx U+10000〜U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx この表から明らかなように、ASCII の文字範囲(U+0000〜U+007F)までは、本来なら1バイトで表現され、ASCII と互換のはずです。 ところが、意図的に必要以上のバイト数で文字
VBAを使ってWEBのデータを取り込んでEXCELに貼り付けようといったときに、文字コードの変換の必要があります。 UTF-8とか、Shift-JISとかで取り出した(帰ってきた)データをVBAの文字列(UNICODE)に変換する方法の覚え書き ADODB.Streamをつかう ストリームでオープンしてバイナリモードで書き込んで、テキストモードで読み込めばいいじゃん ソース 説明 さて、性能は? 性能測定 Charsetってどんなのが設定できるの? Charsetを自動判定にすると便利 ADODB.Streamをつかう マニュアルはここらへんかな? Stream オブジェクト (ADO) | Microsoft Docs WebでADODB.Streamで文字コード変換を検索しても、ファイルに書き込むとかファイルから読み込むとかばかりでなかなか見つからない。 肝心のマニュアルもサンプルとか
設定方法 Visual Studio 2019 で、 C++ の Win32 プロジェクトを用いる場合で説明します。 必要になるのはマニフェストファイルで、以下の内容のテキストファイルを作成します。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyIdentity type="win32" name="..." version="6.0.0.0"/> <application> <windowsSettings> <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings
高木です。おはようございます。 前回はUTF-8からUTF-32への変換でした。 今回はそれを利用してUTF-8からUTF-16に変換するためのmbrtoct関数を多重定義することにしましょう。 UTF-16にはchar16_t型を使用します。 以前からの方針として、char16_t型はUTF-16を扱うものと仮定しています。 さらに、wchar_t型にも対応することにしましょう。 wchar_t型の内部表現はUTF-16またはUTF-32のいずれかであることを仮定しています。 それではさっそくコードを書いていきましょう。 namespace cloverfield { inline std::size_t mbrtoct(char16_t* pc16, char const* s, std::size_t n, mbstate_t* ps) { char32_t c32; char16_
先日、きりきりやままさんがこのような記事を公開していました UTF-8 の文字列をできる限り Shift_JIS に変換したい - きりきりやま それでは実際にそのような文字列変換を行うにはどうすればよいのか、またコメントでiconvについて触れられていたので、この記事ではUnicodeにおけるNFKC正規化をどうやって行うのか試してみることにしました。 追記 GoとPythonとJavaScriptでの例を足しました。またいくつかのscriptにおいてブラウザ上で実行できるURLを添付しました。 (2020-08-17 16:22) “Go” に表記を統一しました。 (2020-08-17 17:00) Ruby 僕にとって文字列処理といえばRubyなので、まずは以下のようなscriptを書いてみました。 puts "\u304c" puts "String#encode('Shift_
Shift_JIS の CSV で連携する外部サービスがあり、DB では UTF-8 でテキストを持っていたため文字コードを変換する必要が生じた。 ところが UTF-8 に存在する多くの文字は Shift_JIS に対応がないため変換することができない1。 そこで、事前に NFKC 形式で Unicode 正規化することで変換可能な文字を増やすことを試みた。 まずは Unicode 正規化の前提として、Unicode の正準等価と互換等価について説明する。 以降の U+16進数 という表記は Unicode のコードポイント (文字に ID のようなものが割り当てられている) を示す。 また、コードポイントに対応する文字の詳細は https://codepoints.net/ といったサイトで確認することができる。 正準等価 例として、ひらがなの「が」について考える。Unicode では「
Vimは http://www.vim.orgで配布されているUnix由来のvi派生エディタでWindowsでも使用することができます。 操作体系が独特でとっつきはあまり良くありませんが、なれると非常に効率のよい編集を行えるようになります。 Vim(vi)自体の簡単な使い方(操作方法入門)は「はじめてのvi」にまとめました。 市販の入門書としては「入門vi 第6版(amazon)」が訳自体も読みやすくチートシートもついているのでおすすめです。 表面的なコマンド解説だけの本ではないので viを理解するために最適な一冊と思います。 第6版では viだけでなく Vimについても触れられています。 日本語版WindowsでのVimはデフォルトがcp932(Shift JIS)で動作するため、最近増えてきたWeb系のファイル等で開くことができないファイルもあります。 基本的には内部エンコーディングを
最近はutf-8が標準のような感じになってきてるし、PHPも何かとutf-8の方が後々融通がきくからutf-8にして置く必要がありそうです。ということで、今回はMySQLで文字コードをUTF-8に設定するのにかなり苦戦したけど、実はまたまた初歩的なミスをしていたのでメモしておきます。 デフォルトの文字コードを変更・設定する 他のサイトでは様々な方法が紹介されていますが、私の場合は以下のように設定することでutf-8に設定することができました。ちなみに現在の自分の文字コードはコマンドプロントで「status」と打つことで確認できます。 1.[mysqld]に以下のコードを追加する my.confの中にある[mysqld]の行を探して、その下に以下のようにコードを追加します。
2010年05月05日 22:37 カテゴリPython Pythonで日本語文字列 (UnicodeとUTF-8, Shift-JIS, EUC-JPなどの相互変換) Posted by yawamen No Trackbacks Tweet ※2.*系の話です.3.*系は違うので注意. Pythonで日本語を扱う場合,UTF-8やShift-JIS, EUC-JPなどの各種文字コードが使えますが, これらとは別にPythonにはUnicode文字列というものが存在します. ※PythonではUTF-8とUnicodeは別物です. 詳しくはマニュアルを読んで頂くとして,ここではソースコードの書き方やいろいろな変換について紹介します. 【ソースコード中に日本語を書くために】 まず最初に,基本的なこととして,何も考えずにソースコード中に日本語文字を書いてしまうと次のようなエラーが出る場合があ
Pythonは使いやすい覚えやすい気持ちいいとまで言う人もいる。たしかにその通りだと思った。しかし、日本語を使おうとした時に急に気持ち良くなくなる。そう感じたのは僕だけではないはずだ。 ということで今日の日記のネタはPythonと日本語となりました。 (WindowsXPにココから "Python 2.5.1 Windows installer" をインストールした環境でテストしています。) まずは、あなたが書いたコードはutf-8で保存する。そして、そのコードの先頭には以下を記入する。 # -*- coding: utf-8 -*- あなたはエディタに何を使っていますか? 秀丸、メモ帳、vim、meadow、或いは Python Scripter、eclipse ? いずれにしてもファイルを保存する時のエンコードはutf-8にすべし。 では早速気持ちよくない(表示が文字化けする!)例。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く