タグ

文字コードに関するHHRのブックマーク (19)

  • python3のbytes型とstr型の比較と変換方法

    3では文字列はunicode文字列として扱われるようになったので、すべてpython2でいうところのu''になりました。u''表記してもエラーにはなりませんが(python3.3以上)同じ意味です。 バイナリデータを扱うときには、bytes型に変換します。bytes型は文字列っぽく扱えますが、strとbytesの連結などはできないので用途に合わせて適切な型で持つようにします。 例えば特定の文字コードの文字列を持ちたい場合はbytes型になります。str文字列として加工などをして最終的に出力する際に、任意の文字コードのバイト列としてエンコードして出力するという使い方になります。 strからbytes encodeでbytes型(utf-8)に変換します。 >>> 'あいう'.encode('utf-8') b'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86' #ut

    python3のbytes型とstr型の比較と変換方法
  • Shift_JIS「もしかして・・・・・・」 UTF-8「私たち……」:キニ速

  • MySQLの文字コード事情 2017版

    "Портирование Web SDK с JS на TS" Петров Григорий, Voximplantit-people

    MySQLの文字コード事情 2017版
  • MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ

    MySQLUTF-8 で使おうと思ってハマりがちなのは charset utf8 を指定してしまうことです。 MySQLUTF-8 には歴史的事情により utf8 と utf8mb4 の二つあります。 UTF-8 は1バイト〜4バイトで1文字が構成される文字コードですが、MySQL の utf8 は4バイト文字を扱うことができません。ハマりたくなければ utf8mb4 を使いましょう。 utf8 を使ってしまった場合に4バイト文字がどのように扱われるか、自分でもうろ覚えだったのでメモしておきます。 登録 接続が utf8mb4 でカラムが utf8mb4 あたりまえですが、そのまま登録されます。 mysql> insert into utf8mb4 (c) values ('美味しい🍣と🍺'); mysql> select * from utf8mb4; +--------

    MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ
    HHR
    HHR 2016/09/07
    寿司ビール問題
  • 文字化け

    [db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日語キャラクタ・セットと文字照合Ryusuke Kajiyama

    文字化け
    HHR
    HHR 2015/07/07
    最後に闇
  • ASCIIコードの秘密 - ザリガニが見ていた...。

    当はエスケープシーケンスのことを調べていたのだが、その前にASCIIコードについて調べることになってしまった...。文字コードの基として知っているつもりだったASCIIコードについて、あらためて見直してみると、実は当の意味をよく分かっていなかったことに気づいた。 ASCIIコード表 ASCIIコードは、7ビット(2進数7桁)の文字コードであり、全部で128のコードが定義されている。 最も基的な文字コードであり、その他多くの文字コードはこのASCIIコードと互換性を維持している。 00 10 20 30 40 50 60 70 00 NUL DLE SP 0 @ P ` p 01 SOH DC1 ! 1 A Q a q 02 STX DC2 " 2 B R b r 03 ETX DC3 # 3 C S c s 04 EOT DC4 $ 4 D T d t 05 ENQ NAK % 5

    HHR
    HHR 2015/06/02
    ^@ ^A ^B ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O ^P ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_ メタ文字、制御コード、エスケープシーケンス、escape sequence、null byteは\0、tr "\0" "\n"
  • MySQL と寿司ビール問題 - かみぽわーる

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select

    MySQL と寿司ビール問題 - かみぽわーる
  • utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる

    RailsMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト

    utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる
  • 文字コード表 シフトJIS(Shift_JIS)

    シフトJISの1バイトコード(半角文字)のエリア 0x00~0x1f、0x7f は制御コードです 0x20~0x7e はASCII文字です 0xa1~0xdf は半角カタカナです シフトJISの2バイトコード(全角文字)のエリア(JIS X 0208の漢字エリア) 上位1バイト  0x81~0x9f、 0xe0~0xef 下位1バイト  0x40~0x7e、 0x80~0xfc ですが機種に依存しない観点より、HTMLで以下の水色エリアは使用しないのが無難です 水色エリアはJIS X 0208 (1990) to Unicode 漢字コード表に存在しないコードです 0x8540~ 0x889e は機種依存文字の主なエリアです 0xeb40~ 0xeffc はMacOS では縦書用文字、Windows では特殊な外字エリアです 0xf040~ は外字エリアです(記載していません) perl

  • Shift_JIS、CP932、MS932、Windows-31J(文字コード関連) | 読み物 | ウナのIT資格一問一答

    Windows標準の文字コードはShift_JISではなく、Windows-31Jです。 それらの違いやCP932、MS932といった用語もあわせて整理してみましょう。 まずはShift_JIS。 これは日語の文字集合を符号化する文字符号化方式のうちの一つです。 Microsoftにより、MS-DOSの標準日語コードとして採用され、CP932という管理番号を与えられるとともに独自の拡張が行われました。 MicrosoftはこのCP932を独自に拡張することを、OEMメーカー(MS-DOSを搭載したパソコンを販売するメーカー)に許していたため、各OEMメーカーごとに異なる拡張が行われました。 その後、MicrosoftWindows3.1の日語版を出すにあたり、OEMメーカーにCP932の独自拡張を許すという方針を撤回し、当時、日のパソコン市場で特に大きなシェアを持っていたIBMと

  • U+FFFF以上の文字ってなんや → サロゲートペアってなんや → Spring Web Services が言うことを聞きません! とかで一日潰れた話 - エンジニア的なネタを毎週書くブログ

    表題のような感じなのですが、これまで理解が曖昧だったUnicodeとか何とかが今までよりわかったのでメモ。 尚、こちらのサイトを非常に参考にさせていただきました。 Unicodeについて コードポイントとは 文字コードとは 今日覚えた単語その一。Unicodeに限らず、文字をコンピュータ上で表現する際、1つの文字に1つの数値を対応させるわけですが、この文字に対応する数値をコードポイントというそう。 いままでASCIIコードとか呼んでました。 そして、文字と数値の割り当てのルールのことを「文字コード」と言うんだそうです。 Unicodeとは から UTF-XXは何が違うんじゃ という話へ Unicode誕生 文字コードが乱立したため、あるコードポイントで表現される文字が、文字コードによって、てんでばらばらという状況に。 ややこしいから、ひとつの統一した文字コードをつくろう! ということで「U

    U+FFFF以上の文字ってなんや → サロゲートペアってなんや → Spring Web Services が言うことを聞きません! とかで一日潰れた話 - エンジニア的なネタを毎週書くブログ
    HHR
    HHR 2014/09/18
    神。暗黒、闇、歴史。Unicode、UTF-XXとは。
  • UTF-8にもいろいろある - ザリガニが見ていた...。

    前回からの続き。 改行コードの違いを体感してみる - ザリガニが見ていた...。 文字エンコードとロケールを体感する - ザリガニが見ていた...。 改行コードの違いも知った。文字コードとロケール、ターミナルの言語環境との関係も知った。これで文字にまつわる悩みとはおさらばできると思ったら、まだダメだった...。 実験環境 OSX 10.8 Mountain Lion以前((OSX 10.9 Mavericksでは、Mac仕様なNFDのUTF-8を表示しようとするとエラーになってしまったため、10.8以前の環境で実験した。Assertion failed: (width > 0), function conv_c, file /SourceCache/shell_cmds/shell_cmds-175/hexdump/conv.c, line 137. ** ** Abort trap: 6

    UTF-8にもいろいろある - ザリガニが見ていた...。
    HHR
    HHR 2013/12/25
    NFDとNFC。濁点。
  • JavaScriptの動かないコード (中級編) 文字数のカウントに失敗する - 主に言語とシステム開発に関して

    連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: 入力された文字列の長さ(文字数)を取得する。 ここに入力して下さい:<input type="text" id="hoge" value=""><br> <input type="button" onclick="c()" value="文字数を数える"> <script> function c() { // 入力内容の文字列 var str = hoge.value; // 普通に文字数をカウント var len = str.length; // 表示 alert( len ); } </script> 入力に利用する文字列のサンプル: 叱られる 𠮟られる 発生する問題 問題の原因 解決策 発生する問題 「叱られる」は4文字だが, 「𠮟られる」は,なぜか5文字になる。

    JavaScriptの動かないコード (中級編) 文字数のカウントに失敗する - 主に言語とシステム開発に関して
    HHR
    HHR 2012/05/28
    サロゲートペア
  • perl: 生 & 死 == 愛 : 404 Blog Not Found

    2012年03月27日14:45 カテゴリLoveLightweight Languages perl: 生 & 死 == 愛 これは素敵すぎてこちらでも紹介せざるを得ない。 2012.03.27 初出 2022.05.06 更新 miyagawa's gist: 2212589 ― Gist #!/usr/local/bin/perl use 5.028; # say, &. # surprisingly this works *only* in bytes semantics from perl 5.28 # # use utf8; # binmode STDOUT => ':utf8'; say my $life = '生'; say my $death = '死'; say $life &. $death; Siriの台詞はウソですが、こちらは当です。 Dan the Love

    perl: 生 & 死 == 愛 : 404 Blog Not Found
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity

    UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を混同してた一人なのでほとんどあのスレからの知識ですが...orz なので簡単なまとめ。引用を多分に含みます。間違ってたらつっこんでいただけるとうれしいです。 調べる際に弾さんのエントリがかなり参考になったので(今頃意味が分かってきた)関連リンクとして度々載せさせていただきます。 参考リンクじゃない理由は解説しているエントリだけじゃなくて既存のエンコーディングを拡張するといった高度なエントリも含まれているため。 UnicodeとUTF-8 まず一番重要なことは Unicodeは「符号化文字集合(Coded Charact

    UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity
  • perl - EncodeでXSSを防ぐ : 404 Blog Not Found

    2009年03月03日19:00 カテゴリLightweight Languages perl - EncodeでXSSを防ぐ 良記事。 第7回■文字エンコーディングが生み出すぜい弱性を知る:ITpro だけど、問題点のみ具体例があって、対策にないのが片手落ちに感じられたので、その点を補足。 結論だけ言ってしまえば、Perlなら以下の原則を守るだけです。 404 Blog Not Found:perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これが

    perl - EncodeでXSSを防ぐ : 404 Blog Not Found
  • 第7回■文字エンコーディングが生み出すぜい弱性を知る

    文字コードに関する問題は大別すると文字集合の問題と文字エンコーディングの問題に分類できる。前回は文字集合の取り扱いに起因するぜい弱性について説明したので、今回は文字エンコーディングに起因するぜい弱性について説明しよう。 文字エンコーディングに依存する問題をさらに分類すると2種類ある。(1)文字エンコーディングとして不正なデータを用いると攻撃が成立してしまう点と,(2)文字エンコーディングの処理が不十分なためにぜい弱性が生じることがある点だ。 不正な文字エンコーディング(1)――冗長なUTF-8符号化問題 まず,(1)の不正な文字エンコーディングの代表として,冗長なUTF-8符号化問題から説明しよう。前々回に解説したUTF-8のビット・パターン(表1に再掲)を見ると,コード・ポイントの範囲ごとにビット・パターンが割り当てられているが,ビット・パターン上は,より多くのバイト数を使っても同じコー

    第7回■文字エンコーディングが生み出すぜい弱性を知る
  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
  • 1