タグ

encodingに関するfuyu77のブックマーク (5)

  • SJISはShift_JISのエイリアスじゃない - freee Developers Hub

    人事労務freeeエンジニアのスポーンです。 RubyでShift_JISに変換するときにハマったので、同じことをしようと思った人の参考になれば幸いです。 Rubyのエンコード 要件として、入力文字列の文字コードをShift_JISにエンコードする必要がある機能がありました。 RubyではString.encode()メソッドでエンコードを変更できるので、以下のようなコードを書きました。 '髙'.encode('SHIFT_JIS') その後、リファクタリングをしている時についでに '髙'.encode('sjis') と変更してみたところエラーで落ちてしまいました。 SJISとShif_JISの違い github.com 上記がRubyの String.encode() の引数部分のエイリアス実装箇所です。 実装によると ENC_ALIAS("SJIS", "Windows-31J")

    SJISはShift_JISのエイリアスじゃない - freee Developers Hub
  • バイト順マーク - Wikipedia

    プログラムがテキストデータを読み込む時、その先頭の数バイトからそのデータがUnicodeで表現されていること、また符号化形式(エンコーディング)としてどれを使用しているかを判別できるようにしたものである。[1] Unicodeが開発された当初は、アメリカではASCII、ヨーロッパなどではISO-8859、日ではShift_JISやEUC-JPといった他の文字コードが主流であり、使用されている符号化方式がUnicodeのものであることを明示する必要があった。また、Unicodeの符号化方式は複数あり、特にUTF-16やUTF-32にはそれぞれエンディアンが異なる2種類があるため、符号化方式同士を区別する必要があった。その方法として、先頭のデータにテキスト以外のデータを入れることが発案された。 実際にBOMを使用すべきか、あるいは使用すべきでないかは、Unicodeを利用したより上位の仕様に

  • UTF-8のBOMにはまった話 - Qiita

    例としてこれをWindows標準のメモ帳でutf-8で保存しました。 それをJavaのStringへと読み込んで、カンマ区切りで分けました。 splitLine[0][0] = 1、splitLine[0][1] = あああ みたいにString形式で保存する形です。 そして、このsplitLine[0][0]を数値に変換しようとしてInteger.parseInt()をしたのですが、なぜかNumberFormatExceptionが発生する。 なんじゃこれは、間違いなくこれは数値ではないのか……と40分ぐらい悩みました。 UTF-8にはBOMありとBOMなしの2種類がある。 BOM(Byte Order Mark)とは BOMとは、UnicodeのUTF-16など16ビット幅のエンコーディング方式において、エンディアンを指定するためにファイルの先頭に記入される16ビットの値。 UTF-1

    UTF-8のBOMにはまった話 - Qiita
  • Excelで開くと文字化けするCSVファイルへの簡単な対応方法

    CSVファイルをダブルクリックでExcelで開くと、下の画像みたいに文字化けしてることありますよね。 文字化けしたCSVをエクセルで開いた状態 このファイルをちゃんと見れるようにするには、 Windowsのメモ帳で開いて保存しなおす Excelの外部データの取り込みを使う(Excel2013まで) Excelのデータと取得と変換を使う(Excel2016以降、または、Microsoft 365) CSVファイルをWindowsのメモ帳で開いて保存しなおす 僕はいつもこの方法でやってます。一番簡単です。 Windowsのメモ帳で文字化けするCSVファイルを開いて、「ファイル(F)」>「名前を付けて保存(A)」をクリック。 Windowsのメモ帳で名前を付けて保存 名前を付けて保存のウィンドウで、文字コードが「UTF-8」になってると思います。「UTF-8(BOM付き)」に変えて「保存」してく

    Excelで開くと文字化けするCSVファイルへの簡単な対応方法
  • UTF-8のBOM付き・BOM無しの違いと確認方法

    文字コードの一種であるUnicodeにはBOM無しとBOM付きの2種類が存在します。BOMはバイトオーダーマーク(byte order mark)の略で、Unicodeで符号化したテキストの先頭に付与される数バイトのデータのことです。 今回はUTF-8のBOM付き・BOM無しの違いと確認方法について紹介します。 BOM付き・BOM無しの違いについて プログラムがテキストデータを読み込む際に先頭の数バイトによりUnicodeのデータであることやどの種類の符号化形式を採用しているのかを判別しています。BOM付きのUTF-8であれば先頭の3バイトがBOMであり、<0xEF 0xBB 0xBF>というデータになります。 Microsoft ExcelなどのアプリケーションによってはBOM付きでなければ符号化方式がUTF-8なのかUTF-16なのか、またはUTF-32なのか、あるいはまったく別の文字

  • 1