タグ

characterに関するsomathorのブックマーク (46)

  • バックスラッシュと円記号の歴史と違い

    最近知ったんですが、Windowsではキーボードから円記号(¥)の入力はできないらしい。 というのも キーボード右上の¥キー キーボード右下の\キー のどちらかを押せば円記号(¥)を入力できますが、どちらを押しても入力されるのは円記号(¥)に偽装されたバックスラッシュ記号(\ )らしい。 皆さんこれ知ってました? いや正直、これを聞いても「何言ってんだコイツ」って思う人が大半だと思いますし、私も今でもそう思います。 これは「バックスラッシュと円記号問題」などと言って、Windowsで昔から続く”呪い”のようなものらしいのですが この”呪い”を理解するには文字コードの歴史を知る必要があります。 文字コードとは? その前に、そもそも文字コードってなによ?という根的な話からすると、文字コードは「パソコンに文字を覚えさせるための暗記表」みたいなものです。 パソコンは2進数しか理解できないので あ

  • 絵文字を支える技術について|nona

    はじめにこちらはmhidakaが建立したAdvent Calendar Day.3となります。 こんにちは、はじめまして、のなと申します。mhidakaさんのTweetを見つけて、初めてAdvent Calendarなるものを書いています。なにかお作法間違っていたら大目に見てください、よろしくお願いします。 軽く自己紹介をさせていただくと、普段はGoogleAndroidTextまわりの開発を行っており、DroidKaigiやShibuya APKで発表させていただいたりしています。最近はほぼ絵文字の話しかしてないので、絵文字おじさんと思われてそうですが、普段の仕事絵文字に限らず、Androidの文字表示の部分は大抵面倒をみています。 今回この機会をいただいたので、どんな内容を書こうか迷ったのですが、やはり皆が読んで面白い内容というと、絵文字になるのかなぁ、ということで性懲りもなく絵

    絵文字を支える技術について|nona
  • 文字コード表 シフト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

  • MySQLのcollationの動作を体系的に理解する - shallowな暮らし

    はじめに collationとは二つの文字の間の順序を定義するものです。こう言われるととても単純に聞こえるのですが、MySQLのcollationの詳細な動作は実は結構複雑です。 この記事はcollationの挙動に関する体系的な解説と様々な具体例を元にcollationに対する理解を深め、collationの問題のトラブルシューティングの筋道を立てる事を目的としています。なお、この記事は大まかなcollationの動作の説明を目的としており、全てを網羅しているわけではありません。詳細な動作はMySQLの公式ドキュメントの方が丁寧ですので実際のトラブルシューティングではドキュメントもご活用ください。 なお、この記事での検証はMySQL8.0.31を利用しています。 collationの基礎 collationは冒頭で説明したように二つの文字の順序関係や同値関係を決めるものです。collat

    MySQLのcollationの動作を体系的に理解する - shallowな暮らし
  • 「ソ」「ソ」による文字化けについて - Qiita

    最上位ビットに違いがあることが分かった。 「プログラマのための文字コード技術入門」という2010年に購入したを引っ張り出して軽く眺めてみた。 JISの8ビット符号にはGR領域とGL領域があり、GR領域を使用する場合には第8ビット(最上位ビット)に1をセットして用いるとのこと。 変換できないので「?」にして戻した後、第8ビットに1をセットする変換がされたことにより「ソ」になってしまったのではないかと推測している。 逆疑問符[¿」は「ソ」と同じコードであり、こちらはLatin-1の文字コードが使われたようだ。 ちなみに文字化けについては、環境変数に「NLS_LANG=JAPANESE_JAPAN.JA16SJISTILDE」を追加することで解消された。 「ソ」よる文字化け Shift-JISは半角文字と全角文字を表せますが、1文字が何バイトなのかが固定されていないのです。なので「ソ」など2バ

    「ソ」「ソ」による文字化けについて - Qiita
  • JavaScript: 文字数を正確にカウントするには? - Qiita

    この投稿ではJavaScriptで文字数をできるだけ正確にカウントする方法について取り上げます。 文字数とは? 要件で「文字数を表示してほしい」「○文字以上はバリデーションエラーにしたい」と文字数を考慮しないとならないことがあります。 そもそも文字数とは何でしょうか。 たとえば、アルファベットの「A」は1文字と数えられそうです。 次の絵文字は、何文字になるでしょうか? この絵文字はiOSであれば14.5の環境では、UI上では上のように1文字のように表示されます。しかし、それ以前のバージョンでは、同じ文字列データでも😵💫のように2文字で表示されます。なお、この絵文字は3つのコードポイントU+1F635 U+200D U+1F4ABからなります。この絵文字の「文字数」はいったい何文字として扱ったらよいのでしょうか。 以上のように、ひとことで文字数と言ってもデータと見た目と環境の3つのややこ

    JavaScript: 文字数を正確にカウントするには? - Qiita
  • 第157回 MySQLのデフォルトcollationの注意点 | gihyo.jp

    MySQLではcharacter set(以後、charset)やcollationをグローバル、データベース、テーブルやカラムレベルで設定することができます。今回はMySQLのデフォルトcollationの注意点を紹介したいと思います。使用するMySQLのバージョンは8.0.26です。 charsetやcollationとはなにかについては説明はしません。よって、charsetやcollationについてご存知ない方は、先にマニュアル「第10章 文字セット、照合順序、Unicode」をご確認ください。 charsetやcollationの各レベルの設定方法 グローバル 以下のシステム変数を設定します。 character_set_server… サーバーのデフォルトのcharset collation_server… サーバーのデフォルトのcollation データベース CREATE

    第157回 MySQLのデフォルトcollationの注意点 | gihyo.jp
  • \と¥の問題 - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ

    バックスラッシュ\を入力する時に円記号¥に文字化けが起きる理由 プログラムのソースプログラムは(LaTeXのソースファイルやWebページのHTMLファイル等と同様に)テキストファイル(教科書ではテキスト形式と呼ばれています。プレーンテキスト(plain text)とも呼ばれることがあります)というファイル形式で書かれます。このテキストファイルはどのようなOSでも必ずサポートされている最も基的なファイル形式であり、実体は1バイトを単位として文字コードで表現されたデータが先頭から順に並んでいるだけのファイルです。 その文字コードは歴史的にはさまざまなものがありましたが、次第にアメリカで定められたASCIIコードが主流になり、世界中で使われるようになりました。これが国際的な規格になったものがISO/IEC 646です。これらは7ビットの文字コードなので2の7乗つまり128種類の文字が表現でき、

    \と¥の問題 - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ
  • プログラマの抱いている名前についての誤謬

    パトリック・ミッケンジー(Patrick McKenzie)さんのブログ・エントリ、 “Falsehoods Programmers Believe About Names” の日語訳です。翻訳の公開を快諾してくださったミッケンジーさんに感謝します。 公開: 2012-02-22 Posted on June 17, 2010 by Patrick きょう、ジョン・グレアム゠カミング(John Graham-Cumming)が、正しくない文字が含まれているといって彼のラスト・ネームを受け付けないコンピュータ・システムへの不満の記事を書いていた。もちろん彼の名前に「正しくない」ところなどない。当人の申し出たものが当人を識別するものとしては相応しいのであって、定義からして名前とはそういうものである。このことにジョンは当然ながらいらだったし、そうなるのもきわめて正当なことだ。定義からすれば事実

  • ハイフンとかマイナスとかダッシュとか | 404 motivation not found

    目次 ハイフンに似た文字参考ソースコードを読んでいたら、既存処理にとある文字列変換処理があった。 例 (ソースはイメージです) const convert = (arg) => { return arg.split('ー').join('‐'); }; いざテストをしようと思って、「—」を入力したら期待値が出なかった。 なぜならば、この処理は「ー(全角長音)」を「‐(全角ハイフン)」に変換しているので、「—(全角ダッシュ)」はスルーされるからだ。 ハイフンに似た文字 気になったので色々調べたら、少なくとも以下の文字があることがわかった。 -(全角ハイフンマイナス) -(半角ハイフンマイナス) ‐(全角ハイフン) −(全角マイナス) ‒(フィギュアダッシュ) —(全角ダッシュ(emダッシュ)) –(二分ダッシュ(enダッシュ)) ―(ホリゾンタルバー) ー(全角長音) ー(半角長音) ─(罫

    ハイフンとかマイナスとかダッシュとか | 404 motivation not found
  • UTF-8 の文字列をできる限り Shift_JIS に変換したい - きりきりやま

    Shift_JIS の CSV で連携する外部サービスがあり、DB では UTF-8 でテキストを持っていたため文字コードを変換する必要が生じた。 ところが UTF-8 に存在する多くの文字は Shift_JIS に対応がないため変換することができない1。 そこで、事前に NFKC 形式で Unicode 正規化することで変換可能な文字を増やすことを試みた。 まずは Unicode 正規化の前提として、Unicode の正準等価と互換等価について説明する。 以降の U+16進数 という表記は Unicode のコードポイント (文字に ID のようなものが割り当てられている) を示す。 また、コードポイントに対応する文字の詳細は https://codepoints.net/ といったサイトで確認することができる。 正準等価 例として、ひらがなの「が」について考える。Unicode では「

    UTF-8 の文字列をできる限り Shift_JIS に変換したい - きりきりやま
  • 文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう!|ハイクラス転職・求人情報サイト AMBI(アンビ)

    文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう! 文字コードには、どのような種類があり、それぞれどのような意味を持つのか、といった、文字コードの基的な概念、従来の文字コードを紹介し、現在のUnicodeの構成を概説し、プログラミングにおいて注意すべき箇所をいくつか取り上げます。 ソフトウェア開発に携わる方の多くは、何らかの形で文字コードに触れることがあるでしょう。文字や記号をコンピュータ上でデータとして扱うには、文字コードの知識が必要不可欠です。 稿では、書籍『プログラマのための文字コード技術入門』の著者である矢野啓介さんが、知っておきたい基礎知識を分かりやすく解説します。 文字コードとは? Unicode以前の文字コード Unicodeとその主な符号化形式 UTF-16 UTF-32 UTF-8 Webで文字コードを指定する仕組み

    文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう!|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • CharsetとCollationの設定がMySQLのパフォーマンスに与える影響 | Yakst

    MySQL 8 は MySQL 5.7 より常に高速とは限らない(MySQL 8 is not always faster than MySQL 5.7) に続いて、 今回は、データがメモリに収まっており、CPUバウンドな、read only のとてもシンプルなワークロードのテストをすると決めました。このワークロードにIO処理はありません、メモリとCPUの処理だけです。 テスト環境 環境のスペック Release | Ubuntu 18.04 LTS (bionic) Kernel | 4.15.0-20-generic Processors | physical = 2, cores = 28, virtual = 56, hyperthreading = yes Models | 56xIntel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz< Memory T

  • たった1文字でiPhoneをクラッシュさせるバグ発覚、無限再起動ループの危険もあり

    特定のURLや文字列によってiOSがクラッシュするバグはこれまでにも見つかっていましたが、新たにたった1文字でiOSをクラッシュさせられるバグが発見されました。このバグのせいで、場合によっては、無限再起動ループに陥る恐れがあるとのことです。 Un carattere indiano fa crashare iPhone, Mac e iPad | MobileWorld http://www.mobileworld.it/2018/02/14/carattere-indiano-crash-iphone-mac-ipad-144881/ イタリアのメディア「MobileWorld」によると、問題の「文字」はインド南東部の公用語の一つであるテルグ語で使われる以下の文字。インドの全人口の5%にあたる約7000万人が利用している言語に含まれる文字です。 iMessageなどのメッセージアプリでこ

    たった1文字でiPhoneをクラッシュさせるバグ発覚、無限再起動ループの危険もあり
  • 🐟日本語入力の落とし穴 #burikaigi - みずぴー日記

    BuriKaigi2018で発表した。 入力メソッドについてのテキストを書いてる途中なので、それを流用する目論見だったが、まったく別のものになった。 🎤原稿 あいさつ このセッションはJava+αだと聞いてるので、+α部分の寛容さに賭けて日本語入力の話をする。 日語を受け取るアプリケーションがおちいりがちな落とし穴についての話をするので、テキスト入力を受けつけるアプリケーションを作るときとかに役に立つと嬉しく思う。 会社の紹介 ボクはMisocaという請求書を管理するWebサービスを作っている会社に勤めている。 日本語入力の重要性 Misocaの開発には、様々なサービス・ソフトウェアを使っている。RubyRailsSlackGithubなどは使っている会社も多いと思う。 この図には記載されていないが日本語入力の使用頻度も極めて高い。 アンケート さて、ここでちょっとアンケートを取

    🐟日本語入力の落とし穴 #burikaigi - みずぴー日記
  • 絵文字を支える技術の紹介 - Qiita

    絵文字を扱う上で知っておくと良いかもしれないことをまとめてみました。 Ruiさんの記事を見て、「EmojiはSurrogate Pair以外にも、色々とおもしろい技術があるんですよ〜」思って書いてみました。 なお、書いた人はAndroidの人間なので、特に表記していない場合は主にAndroid上での動作のことを書いてます。 またQiita初めてなので読みにくい部分等がありましてもご容赦ください。 サロゲートペア(Surrogate Pairs) このエントリーを書くきっかけにもなったサロゲートペア。なぜこれが導入されたかの経緯は、Ruiさんのブログエントリーに譲るとして、技術的な解説をします。 サロゲートペアは、U+0000..U+FFFFに収まりきらなかった範囲のUnicodeコードポイント(U+10000..U+10FFFF)を、なんとか16bitでエンコードしようとして導入されました

    絵文字を支える技術の紹介 - Qiita
  • 絵文字がある種のUnicodeバグを世界から一掃しつつある件について|Rui Ueyama

    UnicodeのUTF-16エンコーディングではほとんどの文字(コードポイント)は2バイトで表現されるが、Unicodeに後から追加収録された文字の多くは4バイトで表現される。4バイト文字がうまく扱えないプログラムというのはわりとよくある。しかし世界中で広く使われるようになった絵文字がよりによって4バイト文字であるせいで、そのような文字が扱えない問題がよいペースで解決に向かいつつある。それについて少し説明してみようと思う。 Unicodeが80年代から90年代初頭にかけてデザインされたときの目標の一つは、Unicodeに含まれる文字数を65536個以内に収めることだった。現代の文章を実用的なレベルで表すためには、漢字などを含めてもそれだけの種類の文字があれば十分だと考えられたのだ。当然これは1文字を2バイトで表すことを念頭に置いていた。つまりコンピュータの揺籃期から当時に至るまで単純に英語

    絵文字がある種のUnicodeバグを世界から一掃しつつある件について|Rui Ueyama
  • MySQLの日本語コレーション - tmtms のメモ

    4月にMySQLの日語コレーションについて語り合う場に呼ばれていろいろ話を聞いてきました。すぐにブログを書こうと思ったんですが、はや2ヶ月経過…。 ときどき、自分がMySQLの文字コードに関して発表する際に、次のようなスライドをいれてるんですが、 MySQL 8.0 でとうとう日語コレーションが入ることになったのに、なんか期待してたのと違いました。 で、その辺の話を聞きました(2ヶ月も経ってるのでうろ覚え)。 Q. わざわざ日語ロケール作るんだったら日人が扱いやすいロケールにしてほしい utf8mb4_ja_0900_as_csはMySQLが独自に考えたものではない。Unicode規格に従っている。過去にいろいろ独自にやって失敗してきてるので、もう独自にやるのは避けたい。 ai(accent insensitive)で「ハ」=「パ」=「バ」になるのも、ci(case insensi

    MySQLの日本語コレーション - tmtms のメモ
  • APFS is currently unusable with most non-English languages

    The time had come to test out my fears over problems with file and folder names in Apple’s new filing system, APFS. The TL;DR is that APFS is not currently safe to use with names which might have Unicode normalisation issues – which means it is only safe with a limited ASCII character set, as shown in the bizarre screen shot above. You can’t partly normalise For those who have not read my previous

    APFS is currently unusable with most non-English languages
  • ZIP中のファイル名の文字化け - @tmtms のメモ

    こんな記事がありました。 gihyo.jp これはMacユーザー用の書籍の宣伝記事らしいのですが、「Windowsを使ってる人のためにMac側がひと手間かけてあげよう」なんて殊勝なことをマカーが言うとは時代も変わったもんです。([追記] はてブのコメントを見たらさすがマカーという意見が並んでて安心しました) まあ私はWindowsユーザーでもMacユーザーでもないのでどうでもいいのですが、文字化けなネタなのでいついてみます。 記事中に、「付物出稿.zip」というファイルを開いた時の画像が載ってます。 文字の並びからして、UTF-8文字列をシフトJIS(CP932)とみなして表示してしまった文字列でしょう(「繧ォ繝上y繝シ繝輔か繝ォ繧ソ繧・」の元の文字は「カバーフォルダ」で、「蟶ッ繝輔か繝ォ繧ソ繧・」は「帯フォルダ」)。 つまり、Macはファイル名をUTF-8ZIPに書き込み、Wi

    ZIP中のファイル名の文字化け - @tmtms のメモ