タグ

C言語と文字コードに関するmohnoのブックマーク (3)

  • 「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita

    TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能は良くない UTF-8は神 2023/12/06追記 誤りがあったので訂正します。こんな読まれると思ってなかったので正直ちょっとびっくりしていますが、いろいろコメントありがとうございました。(ツイート等全て拝見しました。) Shift_JISが悪いわけではない(デフォルトのエンコーディング設定の問題)→追記しました UTF-8にはUTF-FSSという仕様でこの問題が回避されている→マジでタメになる知識ありがとうございます OSによってデフォルトのエンコーディング設定が異なるせいで、デフォルト環境での動作がOSにより異なる→なるほど?(調査中) CRLFとLF問題では→なるほど?(調査中) そんな問題何を今更→UTF-8が出てから生まれたからです

    「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita
    mohno
    mohno 2023/12/05
    「Windowsのgcc/g++とMac/Linuxのそれとでは異なっていて」←Mac/LinuxでShiftJIS?普通に文字列が文字化けするのでは?なんか違う気がする。/↓以前はShiftJISを受け付けるオプションがあったのか。でもなあ。そこじゃない予感。
  • char8_tによせて - なるせにっき

    C++標準化委員会、ついに文字とは何かを理解する: char8_tという記事が話題だってので、つらつらと書いてみました。 「グリフ」について グリフ(glyph)という言葉の定義をめぐって でも触れられていますが、「グリフ」という言葉が「字体」を指すのか「字形」を指すのかってのは議論がありますね。文字コードの文脈では普通「字形」の意味だとして話を進めることが多いように思います。 CJK統合漢字について Wikipediaの記事にまとまっていますが、実際に推進していたのは中国みたいですね。うまくやればあんまり問題なかったんでしょうが、あんまりうまく行かなかったんですが、それでも国ごとにその国の過去にあった文字コードとの互換性は取れているので、実際の所CJK統合漢字ってあんまり問題にはなってないと思うんですよね。中国フォントと日フォントを切り替えないといけないって問題はありますけど、それ

    char8_tによせて - なるせにっき
    mohno
    mohno 2018/12/24
    「wchar_tにUnicode以外の何かを詰めたコードは世の中に多数存在する」←もともとC/C++自体は文字コードとは独立していて、そこは実装依存だったよな。サロゲートペアの処理が大変なのが“型”で楽になるわけじゃないし。
  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - c

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
    mohno
    mohno 2018/12/23
    そこまでしてC/C++を使う人がどれだけいるかなあ。「C標準では文字を受け取る引数はint型」←そこは引数がcharでも内部はintだったり、オーバーロードがない時代という歴史的経緯があるので。負債というならShift_JIS。
  • 1