Giter VIP home page Giter VIP logo

littleslam's People

Contributors

kiyoshiiriemon avatar tomonom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

littleslam's Issues

提案: ファイルエンコーディングのUTF-8(BOM付き)への変更

このプロジェクトでは一部のファイルのエンコーディングとしてCP932が使われています。
これによって、以下の問題が生じています。

  • プロジェクトをWebブラウザや、エンコーディングの自動認識に対応していないエディタから閲覧したときに文字化けが生じることがある
  • コンパイルオプションとしてcharsetを指定しなければならない処理系がある。また、-finput-charset=cp932, -fexec-charset=cp932を指定してもgccのバージョンによっては正しくエンコーディングを変換できない、macOSのclang, gccで正しくエンコーディングを変換できない、といったことがある。

macOSについてはこのプロジェクトではサポートしていないようですが、対応すれば、プログラムを動作させられる読者を増やすことができるはずです。また、私はエンコーディングの変更と多少の修正を加えて、macOS上での動作の確認をしているので、対応のためのPull Requestを出す準備はあります。

提案

*.cpp, *.h, *.md, CMakeList.txt のファイルエンコーディングを一律、UTF-8 (BOM付き) に変換する

なぜこのファイルか?

*.cpp, *.hの変換は、ビルドに係る文字コードの問題を解決するために行います。
*.md, CMakeList.txtの変換はブラウザ等で閲覧したときの文字化けの問題を解決するために行います。
従来これらのファイルはcp932とASCIIが混在していましたが、同じ拡張子のものは同じエンコーディングにするため、一律UTF-8(with BOM) とすることを提案します。

なぜUTF-8 (BOM付き)?

UTF-8は標準的なUnicode符号化方式なので採用する妥当性はあると思います。
BOMを付与するのは、WindowsのVisual Studioにおいて、バージョンによってはBOM無しのUTF-8を正しく解釈できないが、BOMを付与すれば正しくエンコーディングを認識できるためです。

動作確認状況

上記の変更適用後、以下のOSで問題なく動作することを確認しました。

OS コンパイラ
Windows 10 VisualStudio 2017 C++ Compiler
Ubuntu 16.04 gcc 5.4.0
MacOS High Sierra (参考) clang-900.0.39.2, gcc 7.3.0

Pull Request

上記提案に対応するPullRequestを作成しました #2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.