文字コード総合スレ part14
Q. UTF-8 に BOM をつけるべきですか? A. Unocode Standard では「付けたければ付けても良いが、付ける必要はないし、付けるのはお勧めしない」と規定されています。 >>1 >Windows NTは初代からUnicodeがネイティブの文字コードです。cp932ではありません。 filesystem の文字コードと system locale についても詳しく あとファイル名に BOM 必要かどうかも >>3 訳し方でニュアンスが変わるから根拠となる規格の原文も載せた方が良いぞ UTF-8, UTF-16, UTF-32 & BOM https://unicode.org/faq/utf_bom.html 「付けたければ付けても良いが、付ける必要はないし、付けるのはお勧めしない」なんてどこにも書いてないんだが >>4 Windowsの場合はUnicodeというのはUTF-16LEを示す模様 UTF-16LEはリトルエンディアン固定でBOMは付かないフォーマット UnicodeといってもUTF-8ではない >>8 規格に理由は書かれてない。 規格書では趣旨として UTF-8 では Unicode をASCII互換にするための方式みたいな説明してるので、BOM をつけると ASCII互換性が崩れるのが駄目なのかもしれない。違うかもしれない。 すまそ。ここの40ページにUTF-8でBOMが許可されるって書いてあった https://www.unicode.org/versions/Unicode15.0.0/UnicodeStandard-15.0.pdf Table 2-4. The Seven Unicode Encoding Schemes Encoding Scheme: UTF-8 Endian Order: N/A BOM Allowed?: yes The Unicode® Standard Version 15.0 – Core Specification https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf When converting between different encoding schemes, extreme care must be taken in handling any initial byte order marks. For example, if one converted a UTF-16 byte serialization with an initial byte order mark to a UTF-8 byte serialization, thereby converting the byte order mark to <EF BB BF> in the UTF-8 form, the <EF BB BF> would now be ambiguous as to its status as a byte order mark (from its source) or as an initial zero width no break space. If the UTF-8 byte serialization were then converted to UTF-16BE and the initial <EF BB BF> were converted to <FE FF>, the interpretation of the U+FEFF character would have been modified by the conversion. This would be nonconformant behavior according to conformance clause C7, because the change between byte serializations would have resulted in modification of the interpretation of the text. This is one reason why the use of the initial byte sequence <EF BB BF> as a signature on UTF-8 byte sequences is not recommended by the Unicode Standard. >>10 ASCIIは文字コードで言えば0~127までの文字 UTF-8が使う128~255はASCII互換ではない 128~255を許容するのであれば BOMもこの範囲に含まれるのでASCII互換 一般に言うASCII互換ってそういう意味じゃねえだろ。 >>13 ここで言われるASCII互換は、ASCII上位互換だな。 今までと同じ入力(ASCII)には同じ出力になることが期待されている。今まで勝手にBOMを付けなかったので、勝手にBOMつけるのはNGくらいの意味。 >>12 「UTF-8 の先頭にある U+FEFF は BOM なのか ZWNBS なのか曖昧なのが、UTF-8 に signature として <FE BB BF> をつけることを推奨しない理由の一つ。」 と書いてあるのか。一つということは他にもあるのか。 >>15 「BOM が不要の場合は先頭の U+FEFF は後方互換性のために ZWNBS として扱う」と規定には書かれいる。 >>18 途中で送ってしまった。 当然途中にある U+FEFF は全て Zero Width Non-Breakable Space (ここで改行禁止くらいの意味)として扱われる。 >>16 ASCIIと同じ出力になるって言うなら 0~127までの文字しか使えないじゃんw まさか最初さえ同じなら、後ろは違ってもいいとかいう 意味不明な話してるの? 規格がどうであれ、可能な限りBOMをつけるのが最善策。 >>22 とうとう規格無視しろって言い始めた。 オレオレ基準は他所でやれ。技術者どうしの合意は規格を使う。お前に発言する資格はない。 元がASCII → UTF-8 (BOM なし)に変換? → それはただのASCII UTF-8に対応するのであれば 128~255を許容した上で UTF-8の仕様に対応しなければいけない UTF-8に対応するならBOMにも対応しなければいけない それだけのこと UTF-8という規格に対応するのなら BOMにも対応しろって話だな >>23 これは規格外をどうするかという話なので、規格の話をしても意味がないぞ 君はエンジニアにむいてない。技術者じゃなくて法律家にでもなれ。 交通事故が起きた時に、人命救助したり、クルマを安全な場所に移動させようとするのが技術者。 交通事故の責任問題ばかり考えるのが法律家。ID:JF7lH/t4は技術者にむいてない。断言する。 >>27 悔しかったら Unicode Standard 書き換えてこいや。もしくは賛同者つのって新しい規格でも作ったら? 規格が不完全でも現実として運用していかなければならないのに、規格を盾に対応を拒否するような技術者はクビだよ >>29 規格が不完全なら規格を正しく修正するのが技術者の仕事。 お前の主張が正しいなら規格はとっくに直されてる。変更されないのは今の規格が正しいということ。 >>30 そのとおり。誰も問題と思ってないのだからBOM付きはどんどん増える >>27 つまり文字化けという事故が起きたときに 文字コードを安全に変換できるようにUTF-8のBOMは使われているということか うわあ時代遅れのBOM強要おじさんがまだ粘着してる このクソくだらない流れいつまで続けるんだ、あほらし BOMありもなしも規格では許容していて、あとはその仕様の違いを意識せずに混ぜるなというだけの話。 その一方ですべての文字コードをUTF-8 BOMなしに統一すべきだという原理主義者が存在いる構図。 規格に「推奨しない」って書かれているのをどうしても見なかったことにしたい人がいるみたいだな。 >>35 そんなに強く否定してるとこあったっけ 原文どれだ not recommended ってのは、必要性を十分検討したうえで使えってことだな。 >>37 本体は2.6章にあるよ。12はその理由を説明してる感じみたい。 「お前が○○するぶんには好きにしろ」でいい気がするのだが なんか相手の使い方にそれ以上踏み込んで口を出したくてたまらない人がいるのがエンドレスの原因な気がするのだが >>40 自分が口出してるという自覚はないのか? 「UTF-8でBOMは許容されている。推奨されていないだけ。」 これが事実だろ これ以上のことは言わんでいい 推奨されてないものを付けろだの、対応しろだの、規格無視しろだの言うから荒れてる。 つけたきゃ勝手につけろ。他人に勧めるなで終わり。 https://www.unicode.org/versions/Unicode15.0.0/UnicodeStandard-15.0.pdf#page=967 In UTF-8, the BOM corresponds to the byte sequence <EF BB BF>. Although there are never any questions of byte order with UTF-8 text, this sequence can serve as signature for UTF-8 encoded text where the character set is unmarked. (中略) For compatibility with versions of the Unicode Standard prior to Version 3.2, the code point U+FEFF has the word-joining semantics of zero width no-break space when it is not used as a BOM. In new text, these semantics should be encoded by U+2060 word joiner. See “Line and Word Breaking” in Section 23.2, Layout Controls, for more information. BOMというのはバイトオーダーマークの略で リトルエンディアンかビッグエンディアンか区別するためのもの UTF-8では必要ない これはWindowsのメモ帳のバグでM$がUTF-8にBOMをつけたのが始まり 仕方ないからUnicodeで許可されてるだけで本来はつけてはいけない >>44 ついてた時にどうするかが重要なのであって、そこが自由裁量であり経営判断。 Windowsの資産をすべて捨てる決断をするのはカネを払う経営者やユーザーであって技術者ではない。 山茶花(サザンカ)は本来サンザカと読まなければならないのだから、今後はサザンカは受け付けない(キリッ >>45 お前のようなやつがいるからWindowsはいつまでもShiftJISを使い続けることになる BOMはUnicodeでは認められていない。禁止すべきものだ。 >>45 入力がBOMつきUTF-8に指定されている場合はBOMとして処理しろ。 入力がBOMなしUTF-8に指定されている場合はZWNBSとして処理しろ。 >>47 推奨されてなくても一応認められてるでしょ 何でそこを捻じ曲げるの ま、積極的にBOMを使うのが運用として自然だから、BOMをつけるアプリがドンドン増える。 デファクトスタンダード。 >>19 >Zero Width Non-Breakable Space (ここで改行禁止くらいの意味) 何も処理せず読み飛ばせって意味では >>51 の補足だが 入力に(BOMありかBOMなしかはともかく) [ZWNBS]AB[ZWNBS]CD というデータがあれば 出力は ABCD になるという意味ね >>52 先頭は無意味だがそのまま保存する。 途中のはBとCの間で自動改行禁止という指示になる。 # 家(ZWNBS)康 ってしとけば難癖つけらなくて安全だな。 話の途中ですまんのだが ASCIIって7bitのはずなのに下みたいにどう見ても先頭に0がついて8桁あるのはなんでなんや https://medium-company.com/ascii%E3%82%B3%E3%83%BC%E3%83%89/ もしかして先頭に0をつけて8bitにしたのがメモ帳とかでは標準の表現方法なんか? >>54 単に 8bit = 1byte の世界で説明してるからだろう。(最近はそれしかないので、昔は 7bit = 1byte とかもあった) ハイともイイエともどうとでもとれる書き方なんですんのやろ 大昔は一番上のビットをパリティとして利用していたこともあつたし JSONではUTF8必須かつBOMを付けてはいけないと明確に定められてるんだな 全てがこのように決まれば文字コードで悩むこと無くなるな ソース https://www.rfc-editor.org/rfc/rfc8259.html#section-8.1 JSON text exchanged between systems that are not part of a closed ecosystem MUST be encoded using UTF-8 [RFC3629]. Implementations MUST NOT add a byte order mark (U+FEFF) to the beginning of a networked-transmitted JSON text. >>54 M$がShiftJIS対応のために8bitに変更したんだろ なんだろな。このど素人が混ざってる感じ ASCII はもともと 1byte に 1文字を入れる設計。 6bit マシンには非対応 7bit マシンにはそのまま入れる 8bit マシンでパリティ不要なら最上位bitにゼロを入れる という設計。最近の機器は全部8bitマシンなので最上位にゼロが入る。 (ISO 2022 拡張とかで変更できるけど) ShiftJIS対応だけのために8bitに変更とか日本はどんだけ凄いんだよ… 本質がわかってないやつがいるが 論点はBOM禁止という話 M$のバグのために仕様を歪めるな! 将来SJIS(cp932)やそれ以外のcp(cp65001を除く)は全部無くなるんだろうし その頃にはUTF-8にBOM付けるやつは居なくなると想定していて その準備段階として現状UTF-8にBOM付けるべきでないってスタンス 今がんばってBOM付けろって言ってるアホは死ぬまでSJIS浸かってろ >>67 そのとおり。死ぬまでSJIS浸かってる人は今後もずっと存在し続けるからBOMつけるのが最適解だよ。 MSがWindows12でSJIS(CP932)を異様に扱い難くくするとかの ペナルティが無いと10年後でも平気で残ってそうだ 互換性重視のWindowsが完全にUTF-8で統一なんて20年はかかると予想 >>68 お前にとってはそうなんだろうな。後5年くらいしか生きない老害にとってはそれが最適解。間違いないな。 暴れている人は、最近覚えたCP932という単語ばかり使ってlatin-1の話が出てこないあたり、初心者っぽい。 もうこのスレに書き込まないでくれ。静かに読むだけにしてくれ。 誰か1人が暴れていると書く人は自分が見えていない このスレでは2人がお互い暴れている 暴れてるのはやっぱりUTF-8原理主義者の人だよなあ 原理wって反対の立場ですと表明してるようなもんだが 愉快犯かなにかか もちろん反対の立場(自由主義)だよ。BOM付けても付けなくてもいいしUTF-8以外のコードも容認する。 >>61 の例のように文字コードは全てUTB8で統一そしてBOMは使用不可が現在進んでいる方向だろう 文字コード問題があるおかげで喰ってる既得権益層にとっては脅威 外部コードが UTF-8 BOM 無しで統一されれば文字コードで悩むやつは少なくなるだろうな Linux はほぼそうなっていて、Mac も頑張っている。Windows はまだこれからだけどMicrosoft はその方向性を技術者向けに発信してる 10年後くらいの新人に「SJIS? 昔そういうのもあったんですね。まだ使ってるんですか?」とか言われそう 過去のソフト・データの資産こそがWindowsの存在意義なんだから、いまさら捨てられる分けがない それがなかったらWindowsである必要がないからな 古すぎて非効率極まりないWin32 APIが結局今も残っているのと同じこと マイクロソフトがいくら頑張ってもこれはどうしようもないことなんだよね もはや誰もメンテしてないDOS時代に作られたツールがひっそりと使われていたりするし 10年後はまだ確実にSJISが残っていると思うよ 20年後はわからないが 過去のデータや文字コードは、そういうのを取り扱うレガシーなアプリケーション (ブラウザなり古いテキストエディタなり)が対応してれば事足りるよね 今後作成するシステムは基本的にすべてBOMなしUTF8で統一、 連携対象となる外部I/Fがあればインターフェース仕様に応じたエンコーディングを採用すればよい CSVなんかはExcelで開くことを考えるとどうしてもBOMありにせざるを得ないだろうけど 普通のプレーンテキストならメモ帳ですらBOMなしUTF8がデフォルトになってもう何年も経ってる以上 あえて今更BOMありを要件にする必要はないだろう EUC-JPのテキストファイルにお目にかかる機会もほとんどなくなった linuxのデフォルト文字コードがUTF8に変わったのっていつ頃だったっけ iso2022jpもほぼほぼ見なくなったかな メールクライアントやメールサーバでUTF8がデフォルトになってから15年位ってところか sjisが消滅するまでEUCやiso2022jpと同じくらい時間がかかるとすれば やっぱり2030~2040年位になるのかな >文字コード問題があるおかげで喰ってる既得権益層にとっては脅威 そんなんで食っていけるってどんな仕事だよと思うが、本人は本気で思っていそうだな。 >>81 SMTPはまだ 7bit code が残ってるよね。 UTF-8 もBase64 でエンコードだし >>83 プロトコルの話なら SMTPUTF8 があるよ。 インターネットの世界だとUTF-8のBOMは「つけるな、解釈するな、さわるな」だから。 20年前にRFC改定されてからはそんな感じ。 >>81 ひと昔前の海外OSSのソースコードやドキュメントはCP1252(latin)が当たり前だったな いつのまにかUTF8で統一されたように感じるのはなぜだろう nginxの台頭 当時はこぞってドキュメントを原文で輪読してたとか なんで?って一瞬思ったけどロシア製だからか koi8?cp1251どっちだとしても非キリル文字圏のwindowsだと辛いね VS Code と PowerShell でのファイルのエンコードの概要 https://learn.microsoft.com/ja-jp/powershell/scripting/dev-cross-plat/vscode/understanding-file-encoding#choosing-the-right-encoding システムやアプリケーションごとに使用しているエンコードが異なる可能性があります。 ・現在、.NET Standard、Web、Linux の世界では、UTF-8 が主流のエンコードです。 ・多くの .NET Framework アプリケーションは UTF-16 を使用しています。 歴史的な理由から、これは "Unicode" と呼ばれることもあり、現在では UTF-8 と UTF-16 の両方を含む広範な標準を指しています。 ・Windows では、Unicode より前のネイティブ アプリケーションの多くが既定で Windows-1252 を使用し続けています。 BOM はオプションであり、Linux の世界ではそれほど採用されていません。UTF-8 の信頼性の高い規則があらゆるところで使用されているためです。 ほとんどの Linux アプリケーションでは、テキスト入力が UTF-8 でエンコードされていると想定されています。 多くの Linux アプリケーションは BOM を認識して正しく処理しますが、認識しないものもあります。そのため、そのようなアプリケーションで処理されたテキストにアーティファクトが生じます。 したがって: ・主に Windows アプリケーションと Windows PowerShell を使用している場合は、BOM ありの UTF-8 または UTF-16 のようなエンコードをお勧めします。 ・複数のプラットフォームにまたがって作業する場合は、BOM ありの UTF-8 をお勧めします。 ・主に Linux 関連のコンテキストで作業する場合は、BOM なしの UTF-8 をお勧めします。 ・Windows-1252 とラテン-1 は基本的にレガシ エンコードであり、できれば避けてください。 ただし、一部の古い Windows アプリケーションではそれらに依存している可能性があります。 UNIX はパイプで複数のデータストリームが一つになったりするので, データストリームの「先頭」とは何かがはっきりしないよね tar のデータストリームとかどうするんだろうね そういいながら、結局 PowerShell の新しいバージョンからデフォルトを BOM無しUTF-8 に変更してきたのがマイクロソフト流儀だけどな。 時代の流れは早いお。 >>93 そもそもtarはバイナリだ。テキストファイルじゃねーよw ファイル名とか入ってるけど,そのファイル名の先頭にBOMつけるの? Windows技術者「お前ぇぇ、WindowsアプリではBOMつきUTF-8 使えって言ってたじゃん。なんでVScodeやPowerShellの新しいの BOMなしなの?」 MS「BOMつきは昔の話」 俺「...... >>97 Linuxにも対応してるからだろ ちょっとアホすぎやろ >>96 BOMはテキストファイルの頭につけるものなの tarはテキストファイルか?違うだろ。アホすぎ。 へえ tarはただ元のファイルにヘッダをつけてひたすら結合するだけという認識だったんだけど こういうファイルもバイナリファイルって呼ぶべきものなのかな BOMつきテキストファイルならBOMつきのまま無圧縮で格納されちゃうものかと思ってたんだが tar化するときにはファイルの先頭じゃなくなるから除去されちゃうの? で展開するときにはまた自動でBOMがついちゃうの 途中送信しちゃったけど、 もしBOMの付け外しまでフルオートでよしなにやってくれるとしたらtarコマンドって随分と賢いんだね そんなクソめんどくさい考慮せずに済ませるほうがよっぽど楽だろうに おちつけ 最近の tar は gzip やその他の圧縮なんか対応してたりする賢い tar で便利に使われてるので人によって認識にいろいろ違いが出るのは仕方ない。 もともと tar は tape archiver で、磁気テープにファイルを読み書きするためのツールでバイナリとかテキストとか気にしない。 というか unix 系のツールにはバイナリとテキストを区別しないやつが多い。 「それバイナリやろ」とか、「それテキストやろ」とか言われれも、「何の違いが?」ってなる。 圧縮されていようがいまいがこんな発想が出てくるのはただものではない >>94 >>97 MicrosoftもBOM無しUTF8へと移行をどんどん進めてるね Microsoft以外の一般環境だとBOM無しUTF8で統一されてしまったからね というか、MicrosoftとLinux以外のOSがなくなってしまったんだぜ あとmacOSが残ってるか そういえば、テキストだけ特別な扱いはしたくないからBOMは入れてくれるなという主張はわからんでもないが とあるそこそこ有名なOSSは逆にストリームの先頭の EF BB BF を強制的に削るという強硬策をとってたな。 今はテキストファイルの話をしてる ストリームの仕様は関係ない話だ あほだな。テキストのストリームとか言われたら死にそうだな。 UNIXはバイトストリームしかない中古品 C言語もWindows向けと違ってテキストモードとか実装して当然ものすら無いし Windows の改行コードが 0D0A なのはMSDOS の名残 C言語の \n は1バイトなのだが,これを2バイトでも処理できるように 苦し紛れに作ったモードがテキストモード Why is the line terminator CR+LF? https://devblogs.microsoft.com/oldnewthing/20040318-00/?p=40193 This protocol dates back to the days of teletypewriters. CR stands for “carriage return” – the CR control character returned the print head (“carriage”) to column 0 without advancing the paper. LF stands for “linefeed” – the LF control character advanced the paper one line without moving the print head. So if you wanted to return the print head to column zero (ready to print the next line) and advance the paper (so it prints on fresh paper), you need both CR and LF. If you go to the various internet protocol documents, such as RFC 0821 (SMTP), RFC 1939 (POP), RFC 2060 (IMAP), or RFC 2616 (HTTP), you’ll see that they all specify CR+LF as the line termination sequence. So the the real question is not “Why do CP/M, MS-DOS, and Win32 use CR+LF as the line terminator?” but rather “Why did other people choose to differ from these standards documents and use some other line terminator?” Unix adopted plain LF as the line termination sequence. If you look at the stty options, you’ll see that the onlcr option specifies whether a LF should be changed into CR+LF. If you get this setting wrong, you get stairstep text, where each line begins where the previous line left off. So even unix, when left in raw mode, requires CR+LF to terminate lines. The implicit CR before LF is a unix invention, probably as an economy, since it saves one byte per line. こんなスレにおるのはほぼオッサンなんだけど キミに学びがあったのならよかった 最後の方の Unix の記述は間違いだな。ちゃんと調査せずに適当な風説を元に回答したようだ。 1) 大昔の teleprinter/teletypewriter では CR+LF で改行にしていた。違うのもあった。 2) それを引き継いでビデオ端末の多くが CR+LF を改行にしていた。違うのもあった。 3) デバイスに直接出力していた古いOSや、OS無しの低機能のシステムではデバイスの多数派に合わせて CR+LF を改行コードにした。 4) Multics ではデバイス・ドライバーで出力先デバイスに合わせて改行処理を変更する機能があるので、デバイスに依存しない抽象化された文字コードを採用することにした。 5) このときに、当時の ISO 646 のドラフトにおいて LF だけで改行とできる規定があったので、それを採用した。 6) unix はこの Multics の仕様を引き継いだ。 #)一方で CP/M はデバイス・ドライバーによる抽象化などの高度な機能は無かったので、CR+LF を改行コードにするしかなかった。MS-DOS および MS-Windows はこの仕様を引き継いだ。 CP/Mのパクリをしなければ改行にCR+LFを採用する必要はなかった まあこのパクリのおかげでCP/M86に勝ったんだけどね >>120 お前は深く考えてない玩具 Apple II の文字コード継承しただけじゃないか? 正直に白状したまえ。 Macはワンボタンが素晴らしいと思ってるし、画面下にアプリ切り替えバーなんていらないし、UNIXなんてクソだからCRを使った CRはCarriage Returnで行頭に復帰 改行はしない 読むときは CR(単独) が来ようが CR+LF(連続) が来ようが LF(単独) が来ようが LF として処理する 描くときは LF のみ描き込む これが正しい在り方 LF, CR, LF, LF, LF, CR ときたら何行改行するか問題。 CR+LF 派にこれを突きつけると、 言行がバグる人が多い。CR+LF派は脳に欠陥があるに違いない。 >>127 LRの次がCRだったら無視する(読み飛ばす) CRの次がLFだったら無視する(読み飛ばす) で問題なし LF派:誰に聞いても同じ回答を返す CR+LF派:人によって回答が違う。謎のオレオレ理論を説明しだす CR派:問を無視してアップルへの恨み言を言い始める CRは先頭位置に戻す LFは行替え だから>>127 は4行改行して先頭位置になる >>133 本来はそんなんだけど タイプライターで打つときにそれだと二動作必要になるので 一動作でcr+lfにするようにした これが混乱の始まりかも >>133 つまり先頭位置にある時には CR は不要で LF だけで改行すべきで、 毎回 CR+LF を出力している某OSは無駄と言いたいの? それでは CR+LF 派とは言えないよな? HTTPプロトコルは改行がCR+LFなのはどうして? >>136 まじめに答えると、 SMTPなどの既存のプロトコルを参考にしたから。 で、SMTPがCRLFなのは、インターネット以前の汎用機とか使ったメールシステムとの相互接続性に気を使ったから。 実際のHTMLは場所によってLFだけやCRだけの改行も許されていてかなり複雑なんだが。 ほー、ってことはWindowsも そういった互換性を大切にしてたんだな >>138 まあ、そうだな。 Windows が大事にしたのは MS-DOS との互換性で、 MS-DOS が大事にしたのは CP/M との互換性で、 CP/M は大昔の汎用機と同じくらい古臭い<BS><BS><BS>シンプルな設計だったというだけだな。 UNIXは元々研究用だからね 互換性なんか考えちゃいない だからUNIXはBSD系とSystemV系に分離した 多くのコマンドの互換性がなくなった >>141 歴史をまったく知らない素人妄想だな。 Multics で導入されたテキストデータの抽象化とか知ってるか? http2以降はヘッダに改行なくなったんだね、、、 >>141 多くのコマンドの互換性ってたかだかオプションが違うくらい シェルスクリプトでどのバージョンでも対応できた >>142 知ってる。お前のターン。 俺を論破してみせろやw 知ってる→実は何もわかってない 知らんのかね→自分が何も知らない どうして、こういう知ったかぶりする小学生みたいんな奴が混ざってるんだろう? コマンドラインにプログレスバーを出したり 固定レイアウトでリアルタイム更新する画面とか きちんとCRとLFは区別されてるって感じる BOMは文字コード? ZWNBSは文字コード? CRは文字コード? LFは文字コード? >>147 俺のこと言ってる? 「知らんだろ」っていうやつは、 自分が知らないことを相手に要求して 揚げ足取ろうとしているだけだから 「知ってる」っていうと相手に大ダメージを与えられる 知ってた? >>150 無知なやつは恥も知らんなwww 自分が知らないから相手も知らないはずwww UNIX終了wwやはり正義はWindowsだったwwww Unix is dead. Long live Unix! https://www.theregister.com/2023/01/17/unix_is_dead/ Unix というか Linux に徐々に移行でしょ メインフレームやスーパーコンピュータはLinux になっちゃたし >>153 タイトルすらまともに読めてなくてw その記事 IBM が Redhat 買ってこれからは Linux を始めとする unix-like の時代。AIX とかの(旧来の) Unix は終わり。 Windows についてはマイクロソフトも WSL を頑張ってるとしか書かれてない。 そもそも文字コードに何の関係が? >>141 ,153 お前 UTF-8 に BOM つけろ君だろ 教養が感じられないあたりがそっくり 主張が通らなかった、腹いせにスレを荒らすな! >>156 アホ化。逆だわ UTF-8にBOMつけるな あれはMSが歪めた仕様 元々はバグだ シランなら黙っとれ このスレは以下で全員が一致している ・文字コードはUTF8で統一 ・UTF8はBOMを付けない https://i.imgur.com/5H1ZeBj.png > LinuxやMacでは、ファイル名やメタデータから文字コードを判断することが多いので、BOMは不要です。 これマジ? BOMって、 UTF16とかじゃないと意味が無いやん? mac のファイルシステムはリソースフォークを持っているので そこにTextEncoding を格納しておけば良い >>159 出典を挙げてくれるところが親切だな。そのqiitaどこ? Windows のファイルシステムは拡張子を持っているので そこが .txt なら BOM 無し UTF-8 を前提にして良い おいおい Windowsで.txtなんてそれこそ山程CP932のファイルがあるだろう(日本の場合) それらは全て無視かい >>165 そいつらは将来に備えて .sjt とかにでも改名しとけw UTF-8を使う俺が困らなければ他人はどうでもいい。 >>167 UTF-8を使う俺=将来のお前 どうせ嫌でも皆がUTF-8を使うことになる 遅いか早いかの違いでしかない 遅いか早いか、まさにそこがポイントだわな。 100年後には確実に死んでいるだろうからといって明日すぐに死んでもいいなんて考える人はまずいない。 あきらめろ!もう勝負はついてしまったんだ 今は粛々と対応を進めるフェーズだ 早く対応するほど傷は浅くてすむぞ >>166 むしろ新しいほうが.utf8のほうが合理的かと >>171 あきらめろ。どうせSJISのファイルは無くなるんだ。 何ならSJISのテキスト .txt ファイル今後一切作らなくても生きていける。 UTF-8はそうはいかない。 今日は日曜日なんだぜ。仕事引退したご老人は気づかんかもだが。 C言語でShiftJISからUTF-8に変換するコードをライブラリは使用しないで書いて下さい。 以下はC言語でShiftJISからUTF-8に変換する簡単なコードです。このコードでは、ShiftJISの1バイト目が0x81以上0x9F以下または0xE0以上0xEF以下の場合には2バイト文字、それ以外の場合には1バイト文字として扱います。 #include <stdio.h> void sjis_to_utf8(char *sjis, char *utf8) { unsigned char c1, c2; while (*sjis != '\0') { c1 = *(unsigned char *)sjis++; if (c1 <= 0x7F) { *utf8++ = c1; } else { c2 = *(unsigned char *)sjis++; if ((0x81 <= c1 && c1 <= 0x9F) || (0xE0 <= c1 && c1 <= 0xEF)) { *utf8++ = ((c1 << 8) | c2) + 0x3C00; } else { *utf8++ = c1; sjis--; } } } *utf8 = '\0'; } int main() { char sjis[] = "こんにちは、世界!"; char utf8[100]; sjis_to_utf8(sjis, utf8); printf("%s\n", utf8); return 0; } ShiftJISって表現だと文字集合定まらないのに回答もらえんだ どんだけクソ記事多いんだよ >>162 macのリソースフォークとか、知識が化石だな 今は大概のファイルシステムが拡張ファイル属性をサポートするので、そこにメタデータを 記録することが可能 apfs はxattr もresource fork も両方使える named resource fork は無くなってるが >>175 バッファオーバーフローのチェックがなく不合格 それ以前の問題だろ。>>175 はChatGPTに作らせたんじゃね? AIって、コンピュータのくせに自分でトレース実行してバグ無いか確認しないのなw 検算してもその検算が正しいかどうかすら自身が持てないのがchatGPT WindowsだがExcelもWordも入れてない 自分のHDD/SSDにはSJISで保存されたファイルなんてもうほぼ存在しない >>185 Mac が定期的にかかる病気。 すぐ治るけど、時間をおいてまた再発する。 Macは日本の野党と同じで世間からの評価が甘いよなあ。 Macが基幹業務で使われてない何よりの証拠でもあるが。 地震ないのに自信たっぷりに回答するのがChatGPT 知らないことは知らない 調査した限りでは存在しない そういう答えのほうがいいのに なんで捏造するんだろうね そういうのはだいたい、知らないと答えたらひどく怒られた経験があって委縮して育ってしまったんだと思う 自信たっぷりに嘘を答えるから 文系はすぐにだまされるωωω >>193 ShiftJISならバックスラッシュ誤判定だろうけど、ShiftJISなわけないよな 浅慮すぎるのは置いといて ゲームだし手軽にバイト長固定で処理したかったは十分考えられる ネットの論調は「ソ」と言ったらSJISバグみたいになってるけど今時ありえるだろうか? もし事実だとしたら旧作からライブラリか何かを移植して流用したのかな? 「ソ」とか「ポ」を含む文字列で壊れる問題、昔はS-JIS絡みで時々見かけたね XAMPP は、MSYS2 なのか? Windows のsjis(CP932), MySQL, PHP を使っているのかも Ruby on Rails では、日本語のバグを避けるため、 Linux, UTF-8, PostgreSQL しか使わない >>193 アイディアファクトリー(コンパイルハート)のゲーム開発の求人には、 C/C++, C#, Windows, Unity と書いてある Unityの文字化けを解消する! https://qiita.com/kumi0708/items/2f8dd2fc2ccb673ff12b UnityからC#のスクリプトファイルを作成するとUTF-8(BOM無し)になりますが、 VisualStudioはUTF-8(BOM付き)じゃないとコードページを解釈できずにShift-JISになってしまうようです。 WindowsがUTF-16だと知らないのは不思議だな SwitchとWindowsでBOMなしテキスト使ってると、結構困ったことになるんだよね char:Switch=utf8 Win32=sjis wchar_t:Switch=utf32 Win32=utf16 char16_t/char32_t:対応しているライブラリが少ない ターゲット固定なのにそんなのある? ネットとか客先とか何くるかわからん状況じゃないんだし Windows はUTF-16 か。 確か、Ubuntu はUTF-32 とか? たとえLinux 内部で、4バイト文字を使っていたとしても、 Ruby などのウェブ系言語では、UTF-8 前提でモジュールを作るでしょ? CP932 の「表・ソ」などのダメ文字は、数十年前の話 &#xHHHHH; で5桁以上指定出来ないのは HTML のバグ? Macで古いmp3を取り込んだらID3タグが文字化けしまくり 昔はコード変換のユーティリティとか持ってたけど、どうすべきかな 坂本龍一は言いました「芸術は長く、人生は短し」 音楽ファイルは長く、文字コードは短し ふと思ったが、令和の令って、手書きでどう書いてます? 「令」の下側の部分、活字だと「つ」に縦棒みたいになってるけど、手書きだとマみたいに書く人は 少なくないと思う。でもこれって中国語の活字体に近い 実はこんなレベルで「統合」漢字ですか? >>220 今どき手書きしない。 ここ20年くらい住所氏名電話番号くらいしか手書きした覚えないなあ。あとは問診票の体温とかか >>220 あえて言うと、もともと歴史的には明朝体(印刷用)字体と楷書体(手書き)字体の差なので、手書きの時にマになるのが普通のこと。 「はしご高」とかも本来は楷書体(手書き用)で、明朝体(印刷用)は「くち高」。 この辺の歴史を忘れちゃって別字だ同字だ異字体だと言って混乱してるのが現代人。もともとは単に書体の違い。 昔は詳しくない層はうろおぼえで何となく近い文字を同じ文字と認識してたんだろうけど 今は正確に同じ形を出力できるようになったぶん「なんか違うぞ」と目に留まりやすくなってしまったんだな 悪いのは学校教育。 昔の人は明朝体と楷書体は完全に別物という認識で区別がついてた。本とか新聞とかで見るのが明朝体。手書きは楷書体、戸籍は手書きなので楷書体だった。 ところが明朝体と楷書体の両方の特徴をもった中間の「教科書体」という書体を作って小学校で文字を教えるようになった。このせいで多くの人にとって書体間の差が良く分からなくなってる。 書道とか専門的なことをやれば気付くのだが、普通の人は明朝体と楷書体の違いが理解できない。 というか両方間違いで中間の教科書体が一般的文字と信じてる。そういう現状に合わせるためにフォントの明朝体や楷書体も学校教育文字については教科書体に近づけるようデザインされるようになってる。 日本の明朝体フォントの「令」は珍しく昔ながらの明朝体の字形が残っていて、教科書体(楷書)寄りに改変されてないので、手書きと違う字形になってる。 ※1 どうしてもunicodeのCJK総合漢字から新字体と繁体字と簡体字を切り離してリストアップしたかったんです 散々調べて下のそれっぽいコード例を発見するものの、さっぱりで残念 ttps://qiita.com/Saqoosha/items/927e9d6e77922ad9f08a 膨大にある造語めいた気持ち悪い繁体字と簡体字をPC環境から排除するため、フィルターへそれらのunicodeを登録したいのです 繁体字または簡体字のunicodeリスト、メモ帳などへ抽出したテキストリスト、上記目的を達するのに最適なソフトなど 何かしら情報はないものでしょうか ※2 unicodeを紹介してくださるサイトを、そのまま丸コピして手元へ資料化すれば?と考えるものの著作面で不安 HTTrackというオープンソースのソフトを発見しましたが、古い上にソフトへ通信権限を与える類いのようで、下手なネトゲよりリスク高い 何より資料として閲覧可能になるのは嬉しいものの、繁体字と簡体字を排除する本来の目的に沿わない ↑全てをすっとばして、CJK総合漢字から気持ち悪い繁体字と簡体字のunicodeを抽出する方法、既存のファイルやリストなど、がありましたら解決する話です アドバイスくださいm(vv)m unicodeにおけるcjk統合漢字は、一つの意味に対する漢字を〇△□×と横並びさせて、それを終えてから次の意味の漢字へ移行する配列となっています だからこそ〇しか要らないのに4E00から9FF0の中で膨大な△□×という文字のゴミが無作為に溢れてしまうのです しかも支那は性懲りもなく使いもしないゴミ文字を未だに造り続けているので、unicodeは5桁にまで膨れ上がっています(そろそろ整理しろよ!新語を作んなボケが!!使わねー字なら抹消しろ!と) 「漢字」と一括りにするのではなく、そこから真に必要で有用な新字体のみを抽出したい、あるいはフィルター用に新字体以外のゴミunicodeリストを欲しい、と思うのは必然ではないでしょうか そのくらい、今の支那はあらゆる分野で癌と化していますよ^^; ですよねえ・・・ qiita.com/Saqoosha/items/927e9d6e77922ad9f08aさんの例がまさに自分の環境でも活用可能な案だったのですが、古い上によく分からなくて^^; 日本語に用いられる漢字=新字体は、象形文字状態の造語・当て字ばかりで非文明的な繁体字・簡体字と比較すると、めちゃくちゃ秀逸かつ言語内に上手く纏められているんですよ 集約とも言えます 1949年の内閣すげー!!! それも平仮名や片仮名という3種の文字列を組み合わせて歌を詠んだり、そうした世界屈指の難解な文字文化を経たからこそ、私達の先祖は新字体という完成度の高いものを作れたんでしょう 今現在、支那チョンに使われる言葉の多くは「日本語由来」ですしね・・・ 文字においても漢字なのに新字体が一番最初に確立されている不思議 その史実を虚偽で覆い隠さんと、いつもの共産圏の捏造焼き畑で無駄な簡体字が、延々造られ続け、unicodeを圧迫しているのが昨今の実情です やることなすことGと一緒で美も詫び寂びも無い、ただ増えるだけの癌に等しい存在と価値観が、まさにチャイナの本質ですね^^; 文字コードのことも漢字のことも何も分かってなくて草。 お前は日本語専用フォント使っとけ。 まあ、統合なんてせず、他はどうでもいいから新字体だけは別枠でunicodeに登録してほしかったですね そうすれば、ここからここまで理論で新字体とそうでないゴミ象形オナニー文字とを正負ともに区別出来たんですわ・・・ 他の地域はそれぞれの民族単位で登録されていたり、誤差の範囲内でもきっちり枠が設けられているのに 東アジアの区分だけ何故かごちゃ混ぜで笑えますよ(拡張ABCDとかやってる暇あんなら新字体だけでも別枠にしろ!) unicodeを制定する世界の上層部が、如何にアジア圏をどうでもよく考え、雑に一括りとしているか分かる話ですなw >>232 2023年になってから取り組んでも無駄だろな 無理やり押し付けて既存のシステムが崩壊し日本はますます貧しくなる 国賊親子だからそうやって日本の国体を壊し、貧困化の延長を謀るのがこいつらの本懐だからな^^; 自分達だけは生かされると思っているのだろうけど、支那の歴史は例外なく相手国で利敵に走った屑を真っ先に親類縁者ひっくるめて惨殺して口封じとした 俺らパンピーやその子孫が絶望の中にいるとき、こいつら当人は他界し、その子孫は既にもがき苦しんだ後っしょ ま、俺らの将来も支那の臓器牧場候補だろうけど、その前に必ずこの国賊達が総じて臓器強奪や人肉食の材料になる点だけ、留飲を下げる要素だろうね CJK統合漢字 https://ja.wikipedia.org/wiki/CJK%E7%B5%B1%E5%90%88%E6%BC%A2%E5%AD%97 1984年、ISOの文字コード規格委員会 (ISO/TC 97 - SC2) は文字セットの切り替えを行わずに世界中の文字を単一の文字集合として扱える文字コード規格 (ISO 10646) を作成することを決定し、専門のワークグループ (WG2) を設置した。当初、この文字コード規格は16ビットを想定し、その中に日本や中国など各国の漢字コード表をそのまま入れることを想定していた。しかし中国はこの方式では自国で現在策定中の漢字コードが全て入らなくなるとしてこの方針に反対し[要出典]、1989年、各国の漢字コードを統合した漢字集合HCCのアイデアを提案した。 1990年、完成したISO 10646の初版ドラフト (DIS 10646) では、漢字コードは32ビットで表現され、各国の漢字コードはそのまま入れることになった。しかし中国は漢字を各国でばらばらに符号化するのではなく、あくまで統一して扱うことを求めてこのドラフトには当初から反対しており、今後の漢字コードの方針を決めるため、ワークグループはCJK-JRGと呼ばれるグループを別途設置し、そこで引き続き検討することにした。 >>222 なるほどー。 そうすると統合漢字も自然なものに思えてきますね。国や言語毎に字体が違うだけなんだと。 漢字の場合、国・言語ごとの字形の違いは アルファベット書きの単語における国・言語ごとの綴りの違いに近いと思う。 同源の単語であれば他言語の綴りで書かれても一応意味は分かるが、 決してそれが自然だとは思われない。 漢字は統合によって「元の綴りがどうだったか」の情報が残らなくなってしまったので 言語判定をさぼってフォールバックフォント表示を通常運用にしたような環境では 他言語の綴りに化けた文書に頻繁に遭遇することになり違和感が募る。 同じ漢字でも、簡体字って全然読めないよ… 違和感なんてレベルじゃないよ、あれ… おばあちゃんが書く門の略字体なんかは今の子読めなかったりするね 不思議な漢字と日本語──異体字の謎 https://tenki.jp/suppl/hiroyuki_koga/2015/05/18/3961.html 実は、意味も発音も同じなのに異なった字形の漢字は、紀元前約1600年前に中国で誕生した、漢字の原型である「甲骨文字」からあります。 このことはなにを示しているかというと、異体字は主に手書きの文字だからこそ生まれるということです。手書きであれば、点画が短いとか長いとか、おさえるとか払うとか表現が人によって変わってしまうことは当然ですね。それまで使われていた文字があるときにちょっと異なったふうに書かれて、それが誤字となって消えてしまうのではなく、多くの人がそう書くようになってある程度定着してしまう…しかも前の書き方も生きている…。これが異体字の源泉です。楷書、行書などの漢字のスタイルである「書体」も関係しています。 異体字は人名や地名に多いですね。 地名については、言ってみれば「なまり」のようなものだといってもいいかもしれません。人名であれば、漢字の字形の差が自分の個性のようなものと感じられて「渡邊」と書かれないと、自分ではないような気がする、といったことも起こってきます。 文字は社会のなかで共有されているものですから、自分勝手に書いていいというものではありません。ただ異体字だからといって、「間違っている文字」というわけでもないのです。正字・旧字・本字・俗字…といった区別は、漢字の使われ方を標準化するためにある社会・時代で便宜的に決められた「正しさ」の基準ですから、時代によって変わることもあります。日本でも当用漢字、常用漢字、人名漢字などとしょっちゅう漢字の枠組みが変化していることはご存知でしょう。 現在ではコンピューターや携帯電話などで表示できる漢字の数が飛躍的に増えたことで、この枠組がまた変化しています。時代の変化とともに、そして技術との関係で漢字はどんどん変化するものなのです。 >>238 新字体もいわば簡略字体なわけで、まあ違和感があるかどうかは慣れなのかも >>239 簡体字だと门ですよね。というわけで昔の世代の方がより簡体字を読める? 中国語での発音が同じという観点で共産党が簡体字を作ったので 日本の老人とは関係ない 簡体字には二種類の起源があって、難しい漢字のかわりに手書きの略字を形を整えて正式採用したものと、めったに使わない漢字を廃止して意味や音の似た別字で置き換えたもの。(民間の手書きでは難しい字を宛て字で置き換えるのがよくある話) 実は日本語でも政府は同じようなことをやってる。「編輯」の「輯」を廃止して別字の「集」にするよう指示したり、「叡智」を別字の「英知」に置き換えたり。 中国(大陸)は日本より徹底的実行しただけ。 >>245 これは「前からどちらも使われていたのが片方に統一された」だったはずで 一般に言われているほどではない >>246 昔から両方あるけど、違う意味で使い分けられていた。 障碍:じゃまな物があって進められないこと 障害:危害を加えられて進められないこと 当用漢字で碍を害に置き換えたせいで、この2つが衝突した。「妨碍」を「妨害」に統合した関係も似たような感じ。前者は邪魔な物を置いて、後者は傷を負わせて。 碍を害と統合するとか unicode 以上の暴挙。 国語審議会には漢字廃止論者がいたので仕方ないね。 近頃は漢字を使うことをあきらめているケースも多いよね こ線橋とか >>251 俗説でも何でもないだろうが。 引用されてるやつも、昔から混用があったことを指摘してるだけで、害と碍が統合可能な根拠などどこにも示していない。 難しい漢字や頻度の低い字を同じ音の別の漢字で代用するのは大昔からあった習慣。それこそ甲骨文字の頃からある。 しかしあくまで代用は代用。 戦争で片足を失った。→ 身体を傷つけられているので「障害」でOK 生まれつき目が見えない。→ 誰かに危害を加えられた訳ではないので「障害」はNG 使った例があるかどうかじゃなくて、正しく使われてるかの問題。 >当用漢字で碍を害に置き換えたせいで、 嘘はここだな。 その流れは戦前からあったと。 >>254 昔から混用があったのと、政府が正式に使用を禁止したのでは全然意味が違う。 >当用漢字で碍を害に置き換えたせいで、この2つが衝突した。 せいで衝突したんじゃないな。 >>256 衝突してるじゃん。学識がある人には使い分けができてたのに、使い分けが禁止になってる。 それよりも前から衝突はしてるだろう。 あと当用漢字をそれ以外の「禁止」とするのもまた嘘だろう。 学識がある人はあれと「禁止」は区別がつくから心配には及ばないだろう。 話を戻すと大陸の簡体字も同じやり口。 「機」の略字が「机」なわけではなくて、難しい漢字の「機」を廃止するんで、同じ音の「机」を使ってね。民間の手書きとかなら机って書いて人もいただろみたいなの。 >>258 当用漢字は禁止だよ。公文書、学校教育、新聞などでの使用ができなくなった。 当用漢字が廃止されて、常用漢字の制定で推奨に変わった。 使用が一切認められない「禁止」ではない。 そして「話を戻すと」、せいで衝突したんじゃないな。 当用漢字表 https://www.bunka.go.jp/kokugo_nihongo/sisaku/joho/joho/kakuki/syusen/tosin02/index.html 使用上の注意事項 イ この表の漢字で書きあらわせないことばは,別のことばにかえるか,または,かな書きにする。 ロ 代名詞・副詞・接続詞・感動詞・助動詞・助詞は,なるべくかな書きにする。 ハ 外国(中華民国を除く)の地名・人名は,かな書きにする。 ただし,「米国」「英米」等の用例は,従来の慣習に従ってもさしつかえない。 ニ 外来語は,かな書きにする。 ホ 動植物の名称は,かな書きにする。 ヘ あて字は,かな書きにする。 ト ふりがなは,原則として使わない。 チ 専門用語については,この表を基準として,整理することが望ましい。 原則となる調達基準が制定されてそれ以外が入りにくくなったみたいな話だよね こういうの一言で言えば何なんだろう?「ルール」? 簡略化は一貫性がない場合もあるのな。傳->伝、團->団とか 異体字はその定義があいまいだから、IT技術者の仕様都合でどうにかできる話ではないでしょ UTF-8をよく見かけるけど 7とか6とかも昔はあったんですか? 8ビットスルーでない経路が絶滅危惧種だし HTTPで無駄にUTF-7なんて使っても知らんいわれるのがオチ つかうにしてもプログラム書かないといけないならBase64のが筋がよさそう UTF-5のことも忘れないでいてあげるべき UTF-5 ‐ 通信用語の基礎知識 https://www.wdic.org/w/WDIC/UTF-5 やっぱり色々あるんですね㌧ これからも増える可能性もありそうですねー ・・・ギャグで言ってるつもりなのか本気でそう思ってるのか判断がつかないんで一応補足しとくと 「UTF-#」の#はバージョン番号じゃなくて Unicodeの文字を何ビットで表現するかを意味してる 基本的には16Bitで表現するUTF-16が一番楽 サロゲートペア文字もそうでない文字も同じデータ長として管理するなら32Bit表現のUTF-32がよい だが現状はAsciiと互換性のある8Bit表現のUTF-8が事実上の標準となった UTF-7はデータビット数を8⇒7に減らすことで少しでも通信速度を稼ごうとしてた昔の通信経路向けの規格 >>272 バージョンじゃないんですか、詳しくありがとうございます! >>272 あんまり知ったかぶりすんな >「UTF-#」の#はバージョン番号じゃなくて 虚偽、UTF-1 とか UTF-2 はバージョン > 基本的には16Bitで表現するUTF-16が一番楽 虚偽、(もしくは個人の感想) > UTF-7はデータビット数を8⇒7に減らすことで少しでも通信速度を稼ごうと 虚偽 >>238 毛沢東文字やね あれはスパイを発見し易くするために導入された >>272 >サロゲートペア文字もそうでない文字も同じデータ長として管理するなら32Bit表現のUTF-32がよい doubt 64bit版g++は、規定のstd::wstringがUTF-32だよ ペロッ...これは、0xE0100で修飾された異体字!! 見た目じゃなくて成り立ちだから歴史的経緯からIDS化してるんじゃね 簡体字制定時にも過度の正規化に反対する良心的な人もいたみたいだけど…結果は文化継承お構い無しむしろ断絶こそ業績みたいな御用学者に押し切られた?わけで 一旦決まったからはあの面子の国、則天文字やルイセンコ学説宜しく滅ぶまで使い続けるんだろな という訳で今すぐ滅びろ utf-8が標準だと思ってたけど昨日Excel見たらutf-8じゃなくてビックリした メモリ上の内部コードはしらんけど xlsxはXMLだからUTF-8じゃない? お姉さんの可能性あるで 俺もお姉さんだし( ・`ω・´) >>291 他の人のExcelも今度確認してみるわ XML は BOMつき UTF-16 も許されてるんじゃなかったっけ? BOM無しなら UTF-8 だったか excelは昔からさまざまな文字コードに対応してる 高い互換性を維持し続けてる それがMSの強さ こういうところはUnixとかLinuxとかOSSでは 太刀打ちできない >>296 emacs だってexcel 以上に多種多様な文字コードに対応してるし、linux (glibc)の対応ロケールと文字コードの数は windows より多いぞ。 無知が擁護するとMSの格が下がるのでやめとけ。 >>291 そうだね。実際には階層的になったXMLをzipにしてあるけど んでXMLの中をよく見るとxlsxを作成したローカルのパスが書かれていたり。キモっ おっと文字コード関係なかったw Microsoft が互換性重視とか最近のブラックユーモアは笑えないなぁ ASCII との互換性を切捨てて UTF-16 にしようとして失敗したり 5年以上前のCPUは Windows 11 ではサポートしません、買い替えてくださいとか言い出したり その頃 linux では33年前の CPU の 80486 の互換性はそろそろ切って良いのではという議論をしてた。 2012年頃? Windows10 が最後の Windows バージョンです(キリっ MSはJIS X 0213:2012のIVSに Wordが早く対応したりしてそれほど悪い印象はない しかしパス名が未だにCP932系なのは何とかならんのか >>301 ロケール設定とアプリの問題じゃないの? 近年のMSは、昔からの独自仕様での高い互換性よりも、オープンソース&標準準拠を進めているのは良い >>302 日本ロケールだとNTFSのパス名がShift JIS >>304 そういうのはコンソールやアプリ側のエンコーディング設定であってな... UTF16はMBCSと共存しており切り捨てた訳ではない windows11で64bit版だけになるまで16bitアプリも動かせてたわけで そもそもソースレベルでしか互換性を保てないのがLinux Linuxは当初はEUCだったと思うけど当時の日本語対応ソフトが今のUTF8で動くかい? >>307 あほ? EUC-JPアプリって何? 20年前にコンパイルされたアプリが一切の改変無く、EUC-JP でも、UTF-8 でも SJIS でも動くんだが? ロケールの切り替えとか知ってる? >>308 Linuxで20年前にコンパイルしたバイナリが今のLinuxで動く? 冗談はやめてほしい 百歩譲ってロケール切り替えで動くとして今のUTF8前提のアプリと共存出来ないでしょ Windowsだったら20年前のMBCSのソフトもそのまま動くよ 当然Unicodeのソフトも動く Ubuntuが32bitCPUのサポートカーをきったのは5年くらい前だっけ Windows11より速いですね あとマイクロソフトがMBCS切り捨ててUTF16一本にしようとしたってのは初耳ですが根拠を出してほしい >>309 技術がないやつは、これだから。 お前の技術が足りないのをOSのせいにしてるだけだな 全部できるぞ。俺が実際使ってるし Ubuntu で32ビットアプリも動いてるよ コンパイルしたなら文字コード関係なくそりゃ動くわな。 スクリプト言語なら知らんが。 スクリプト言語のが文字という概念があるから ロケールみて外部入出力ちゃんと取り持ってくれそう 昔のプログラムはバイトストリームで処理してるから問題ないだけで ロケールなんてgettextで文言変わるくらいにしか利用してない >>309 冗談は辞めてほしい 君が何も知らないのはよく分かった タイトルに付いていたらあ、クソだなと思うもの 異世界 チート 転生 のんびり 最強 スローライフ 無双 ギルド 追放 スキル おっさん 勇者 魔王 賢者 魔術師 錬金術 聖女 奴隷 悪役令嬢 婚約破棄 遅くとも<title>までにはエンコードを確定できるワードが欲しいね >>312 > 昔のプログラムはバイトストリームで処理してるから問題ないだけで > ロケールなんてgettextで文言変わるくらいにしか利用してない あっさり言ってくれちゃってますが Ken Thompson大先生の大発明UTF-8以前は みんな処理系から実行系まで USC-2対応に書き換えるつもりだったんですよ? 凄く簡単なアイデアだけど着眼点がシャープ それから商業UNIXのm17nは徹底的なもので grepなんかも各言語、各文字コード対応だった 昔のプログラムはバイトストリームで処理してるから問題ない? そんなわけないだろ 正規表現の.とかUTF-8の一文字に対応させんといかんから ほとんどのプログラムに修正が必要だぞ 今も修正できてないコマンドはいくらでもある 相手が変なこといってるなと感じたら じぶんが拾えてない情報がないか確認するよねふつう >>320 お前、もしかして相手が変なことを言っていると感じているのか? >>317 みんな突っ込まないでくれているけど USC-2 → UCS-2 >>323 タイポとか誤変換とかに突っ込んでたらきりがないのでわかってるぽいのはスルーで 無理に訂正する必要もないよ なーんだ、てっきり南カリフォルニア大学ことかと思っちゃった このスレに来る人はICUを集中治療室とか国際基督教大学とは思わないから安心しろ UTF-8がASCII互換っていうのはASCII部分のみが互換っていう意味で ASCIIだけを使ってるなら動くってことだよ ASCII以外の漢字部分までASCII互換になるわけがない そもそもASCIIに漢字なんて無いんだから 漢字は別途対応、もちろん漢字だけじゃなくて絵文字とかも含むからね >>319 正規表現とか使ってなければ問題無いだろう ほとんどのプログラムに修正が必要は大げさ 昔のプログラムがバイトストリームで処理してると思っているあたりが素人くさい。 MS-DOSの話してるんだろうか? >>330 ASCII以外の文字を扱う全てのプログラムに修正が必要 >>331 昔も今もバイトストリームだろ じゃなきゃバックスラッシュと円記号が同一視されるはずがない >>333 小学生でもそんなこと言わんぞ 「文字コード」って聞いたことあるか? 多バイト文字の処理が念頭にあるんだろうけども 改行含めてASCIIの範囲でマッチできれば成立するプラグラムの方が大半な気がする catやcpなんて文字コードなにそれだし うん。だからテキスト処理関係のフィルタコマンドだよ grepとかsedとかawkとかtrとかcutとかsortとか そこいらは全部修正が必要 >>336 お前どこのツール使ってるの? オレの sort とかのツールはちゃんとロカール対応してるけど? >>329 それは回線にモデルとかISBNとか使ってた頃の遺物だろww >>337 だからロケールに対応する修正が入ってるから今は動くようになってるんだろ UTF-8がASCII互換だからって、何も修正しないで動くわけじゃないって話をしてる >>340 Unix 系はunicodeとか発明される以前の昔からロカールあったろ? お前のは無かったの? UTF-8 きても対応文字コードが増えた以上の変化はないぞ >>336 ほとんどのプログラムって言っていたのが随分と対象が減ったな >>341 昔にロケールなんて概念ねーよw あったとしてもASCIIしか考慮してないプログラムは ロケールに対応してない どうせ今の話しか知らんくせに やってみたら動いているみたいだから 昔から対応していたみたいの思ってるんだろうけど これとか読んだら? GNU Coreutils - Multibyte/unicode support https://crashcourse.housegordon.org/coreutils-multibyte-support.html 多くの人の努力によってようやくUTF-8に対応しつつあるというのに ASCIIのままのプログラムでUTF-8でも動くとか あーほみたいじゃなくて、あーほ >>343 unicode や UTF-8 よりロカール機構の方が古いって本当に知らないの? 調べもしないの? 恥ずかしくない? >>346 古いって知ってるがそれがなにか? 古かったら、対応しなくても動くんですか(笑) だいたいASCIIにしか対応してないプログラムって言ってんだから ロケールにも対応してないに決まってるだろ 頭悪そうじゃなくて、頭悪い。 >>345 gnu や linux は商用unixの後追いで互換ツール作ってたんだよ。商用unixは皆対応できてた。 こっちとら linux の黎明期に glibc や gnu tool の locale 実装手伝ってたりしたんだが、お前何やったの? >>349 話をすり替えんな お前がやった仕事は大したことじゃないんだろ?w だってASCIIに対応していれば、そのまんま動くんだからな! 俺が何をやったかだって? お前よりすごいことをしていたよ 守秘義務があるから言えないけどなwww >>348 336の話してるんだが、どこで言ったの? 脳内? ASCII しか対応してないって何時の時代の話? お前何か参加したの? > ASCII しか対応してないって何時の時代の話? まさか全アメリカ人がUTF-8に目覚めたとでも思ってるのか?w 今もUnicode・UTF-8に非対応で、 本当は一文字なのに三文字とか間違える実装を知らんのだろうな UTF-8 が来た時には既に locale があった locale に対応していたれば同じバイナリで UTF-8 も扱えたので、UTF-8 に対応するめの改修とかする必要なかった 個々のツールを改修する必要はなくて、OS側のライブラリを改修することで対応するという基本的な考え方が理解できてないんだろうな。 どうやらASCIIしか考慮してないプログラムは そのOS側のライブラリを使ってないということに 思い至らないようだw それともなにか?printfをロケール対応に 仕様変更するきかね?www UTF-8 が来た時には既に locale があった だがlocale に対応していないプログラムがたくさんあった >>358 ISO/IEC 9899:1990/Amendment1:1995(C95)の7.9.6.1と7.9.6.3より printfの仕様はロケール対応では? %sの代わりに%lsでワイドキャラクタを扱える >>358 商業UNIXはlibcレベルから各文字コード対応だったんだよ なんかCの仕様をわかっていない人がいるような Cのプログラムをロケールを利用した国際化対応するには冒頭でsetlocale()を 呼ぶだけでなくて、文字をcharではなくwchar_tで扱い、fgetsの代わりにfgetwsを 使うなどワイドキャラクタ対応のw系関数で文字を処理するに変更するか、printfや scanf系関数で%sの代わりに%lsで扱う Cのユニコード関連の仕様はISO/IEC 9899:2011(C11)で導入され、6.4の\u,\U, u'',U''と 7.27のuchar.hで定義されたchar16_t, char32_tがユニコード関連 これらはロケールやwchar_tとは別概念なはず >>364 順番とか歴史を理解してる? 国際化するのに locale という仕組みが提案さてて wchar_t が導入され、OS標準ツールは言語や文字コードを切り替えられるようになった その後に多言語化のために unicode と UTF-8 が出てきて locale 対応しているプログラムは変更なく多言語化できるようになった 比較的最近になって、もう新しいプログラムは unicode だけ対応していれば 十分で locale 対応いらないんじゃね? という大雑把アメリカンな考えが出てきて char32_t みたいな仕組みが作られた 国ごとに仕組み違うし、言語ごとに文字の定義とか違うんだから unicode あっても locale 無くせないんだよ。というアメリカ以外からの当然の反発もあって 今は、真面目に国際化対応が必要なやつは locale, そんなん気にしなくて良いやつは生UTF-32, Windowsと互換性が最重要なら生UTF-16みたいな棲み分けになってる utf-8になってもロケールは必要だよね 言語や地域ごとに処理を変えないといけないから 例えば同じ文字を使っていても辞書順が違うことがある 発音記号の取り扱いとか それからwchar_t+Unicodeのみで処理する枠組みはうまくいかなかった ASCII文字だけ扱いたい時 Unicode以前旧世界との互換性 を考えると 結局世界はMBCSと付き合わざるを得ない事に納得し wchar_t+Unicodeは速いindexingが必要な内部表現だけで使うことになった localeに対応しているlessコマンドはsjisファイルも読めるん? >>367 昔の商業UNIXにlessはなくてmoreだけど ja_JP.sjis に設定すれば Solarisでは2byte目\問題もなかった もちろん内部的にはMBCS stringとして扱ってる euc-jpだってMBCSなのだから ちなみにSolarisの場合はこの辺の処理は ハードコーディングではなくテーブルドリブンだった ただこの辺の努力は全て水泡に帰して GNU Linux全盛期に入ったわけだ つまり文字コード対応はutf-8をベースにして 各言語対応は車輪の再発明をしなければならなかったし まだ当時に追いついてもいない >>369 再発明とかはやってないぞ 普通に gnu tool も昔から locale 対応してるし、今もそう ただ、まだマイナーなバグや使い難い仕様が一杯残ってるねってだけ。国際化でなくて、特に多言語化のまわりが熟れてない ユーザーにも一部の開発者にも国際化と多言語化の違いとか、機構と文字コードの違いが良くわかってないやつがいて 本来は「多言語化に問題がある」というべきところを「UTF-8の処理に問題がある」という言い方をしがち ここでも知らんやつもいるかもしれないので、一応書いておくと 国際化(i18n): 文字コードとか言語とかを切り替えて使えるようにする機構 多言語化(m17n): 一つのテキストの中に複数の言語の文章を含めることができるようにする機構 unicode という規格には (A) 純粋に文字コードを定義している部分。どの文字にどのコードを割り当て、それをどのように符号化するか。UTF-8 は符号化の名前 (B) unicode を使ってどのように多言語化(m17n)を実現するかの部分。標準的な多言語化を提案する。IVSの対応とかはこっち の2つが含まれてる。 今いろいろやってるのは (B) 側の話。UTF-8対応やってるんじゃなくて「多言語化」対応やってる >>372 それもちょっと違うね 「(A) 純粋に文字コードを定義している部分」にUTF8は全く関係ない そこでは各文字にコード割り当て定義されていてコードは一意に定まる 一方でUTF8やUTF16などはそのコードのエンコーディングの話であり文字コード割り当てとは独立した全く別の話になるね >>374 エンコードはコードじゃないという主張の人なの? 珍しいな >>375 そこは全く異なるのがユニコードの基本 例えば「あ」はコードポイントU+3042と一意に定められている これはエンコーディング方式に関係なく一意に定まる エンコーディング方式が増えたり廃止されたりしても影響を受けない 一方でこのコードポイントを扱う時に環境や状況に応じて様々なエンコーディング方式を取ることができる 例えばコードポイントは16bitに収まりきらないので32bitに入れるのがUTF32 「あ」はコードポイントU+3042なのでUTF32だと0x00003042となる UTF8は8bit前半をascii互換とし8bit後半の不定長列を非asciiに割り当てる 「あ」はコードポイントU+3042なのでUTF8だと0xE3 0x81 0x82となる このようにコードポイント割り当てとエンコーディングは全く独立した別の分野 >>376 それはISO-2022のフレームワークとさほど大差ない 特にShift JISも含めて考えた場合は >>376 世間では一般的に コードポイント(符号位置)+エンコード=文字コード という認識なんだけどね。言葉の定義の問題なので、ここで議論しても始まらないか その感覚はないな \uXXXXや数値文字参照で指定する値という認識じゃね? コードポイントそのもの >>380 世間一般はSJISもEUC-JPもUTF-8も文字コードという認識なんだよ。厳密な言い方とはいえないが、そういもの コードポイントだけを文字コードと呼ぶやつはかなり特殊、自覚しとけ character encoding system = encoding method + character set 文字コードポイントとそのエンコーディングの区別ができてやつがいるな 例えばUTF8の0xE3 0x81 0x82を文字コードポイントとは言わない あくまでも文字コードポイントはU+3042であり0xE3 0x81 0x82はUTFでエンコーディングした時のバイト列にすぎない >>382 + の後ろを coded character set 「符号化文字集合」とした方がより良いな >>384 codedじゃ誤解しそうな人が出るので numberedを付けるかどうか迷った >>385 規格によって用語の意味が違うので難しいところだねインターネットのRFCとかだと正式用語は code character set + character encoding scheme それぞれCCSとCESと略されることもある 一般的な日本訳は「符号化文字集合」と「文字符号化方式」かな >>386 dが抜けた。coded character set ね >>383 お前は文字コードとエンコードの区別はついているか? >>393 誰が作っても良い。他人に使ってもらえるかは知らんが 俺用の文字コードを作れば、漏洩して悪意ある他人が見ても文字化けで意味不明ってことか。 -・ ・・- ・-・・ ・-・・ ・--・ --- macOS上の話ですが、'が’という名前のフォルダを作ってその名前をシェルで見ると % ls | iconv -f utf-8 -t utf-16le | od -x -A n 304b 3099 000a % echo * | iconv -f utf-8 -t utf-16le | od -x -A n 304c 000a あれ、もしかしてシェル (zsh) がUnicodeの合成をしている? bashでやると元のままでコマンドを外部コマンドにしても変わらないから globがそういう動作なんやね 正確に言うと MacOS の zsh のグロブだな。 >>403 もしかしてmacOS上以外のzshだと挙動が違ったりします? が、果たしてそれはいい事なんだろうか。小さな親切大きなお世話という気もしないでもない 皆さんご存知macOS上のFSはファイル名がUnicodeの分解形になっているのだが、 上記により、シェル内でワイルドカードを使うとファイル名が合成形で得られる その後、そのファイル名を加工して別のファイルを作ると、合成形でファイルが作られること になる(macOSのUNIXレイヤーではパス名を分解形にすることは強制ではない) 結果、分解形のファイル名と合成形のファイル名がコンタミするではないか、と >>407 macOS には HFS+ と APFS というのがあってだな。 awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! https://qiita.com/ko1nksm/items/1a3e711bbd925657f5fd やっぱりUTF-8に対応するにはアプリ側を修正しなきゃいけないって事ね >>409 そもそも、そういう用途は nawk じゃなくて gawk とか使ってるので今更 nawk が対応したと主張したところで意味無し nawk は文字とバイトの区別すらついて無かった古典だし。POSIX?それ美味しいの?状態だったのがようやく今頃になって対応始めた感じ。まだ問題だらけなので文字コード区別必要な場面での使用は非推奨。 互換漢字のことを思い出してもいいですか macOSのFinderで神というフォルダーを作ると神に変換される Chrome上で神を検索すると神と神の両方にマッチする Firefox上で神を検索すると神にはマッチしない Firefox上で分解形の神︀で検索すると合成形の神にはマッチしない Mozcで神︀を入力すると分解形がデフォ みんなちがって、みんないい? おはよう 今起きたけど、UTF-8にBOMつけるか否か?結論は出た? UTF-8にBOは存在しない ↓ BOMなんて概念が不要 議論も何も無い >>413 >macOSのFinderで神というフォルダーを作ると神に変換される このあたり、Appleには素のNFDとは少し違う独自の正規化を使うこだわりが あったのだと思っていたけど、今は違うのかな? >>415 元来の用途で使う可能性が無いからこそ新しいより有用な目的を割り当てて使えるのですね >>415 お前が世間知らずなだけ エディタでbomありutf8は普通にサポートされてる 当然これは需要があるから Firefoxの検索は半角カナの同一視もしてくれないからなあ How can I get WideCharToMultiByte to convert strings encoded in UTF-16BE? https://devblogs.microsoft.com/oldnewthing/20231005-00/?p=108854 UTB-16BEからShift_JISに変換したいとかいろんな要望があるものだな >>415 正確には「UTF-8にバイトオーダーの違いはない」だな。 JSONなどBOMを付与して送信してはいけないと明確に規定されていたり BOMを取り扱わない規定やソフトウェアもあるため UTF8ではBOMを付与しないほうが好ましい JSOINファイルに付けるなとは言ってないみたいよ >>424 BOMを認識するようシステムコールを改修すればいいだけ それをしないのはOS開発者の怠慢 >>413 macOS/iOSのSafariではひらがなとカタカナを同一視するという挙動があるようで みんなちがって、みんないいw >>425 execve の引数解釈が locale に従うのであれば BOM を付けるべきではない状況に該当すると思う。 BOMなしがいいってのはAsciiしか対応してないレガシーソフトウェアに通したいから? UTF8を意識できてるならBOMのありなしの両対応は簡単だし >>428 ファイルの接続とか分割にゴミ処理とかしないですむ。自分がいまから出力するのが先頭かどうか不明とかでも問題は起きない ファイルの先頭とかには別の識別子置きたいアプリもある。先頭BOMが優先して使えるとか思い上がり。 そして何より、世の中すべて UTF-8 で情報交換すべきで、他の文字コードは内部コード以外は認めない。滅べば良いと本気で信じてるので BOM に使いみちなんかない。 だいたい最近の欧米の主張はこんな感じ。 なぁに。1バイトを32bitにしてしまえばエンディアンがどうのなどとつまらない事を考える必要もなくなる。BOMも不要。 いいかげんチマチマと8bitづつ扱うようなケチな精神がいけない。 8bit CPU の事などもう忘れろ。 >>431 文字結合あるからUTF32でも解決しない 結局可変ならUTF8が合理的という考え方もある >>434 つまり UTF1024 が必要ということだな ふーん 結局UTF-8にBOMつけるか否か?まだ結論は出てないんだな? じゃあ、今からまた寝るから結論出たら教えて…おやすみ 結論も何も最初から規格上は「つけないことを推奨」。規格を無視するやつらは勝手につけてるだけ。 これ以上何に結論を出せと? 禁止はしてないな。いくつか使用すべきではない状況はあるがそれ以外必要に応じて使ってよい。 まあいずれEUCと同じように淘汰はされていくと思うが。 拡大解釈を結論としちゃうとそりゃ永遠に終わらんよな 文字コードの自動判定でBOMが欲しいんでしょ だったら日本人的には当面ありの方がいいんじゃないの まじで文字コード判定でBOM必要とするなんてExcel以外にしらんし 他にならって決め打ちか失敗前提で推測する実装にしとけばこんなことにはならなんだ >>443 今はネット通信もローカルもUTF8を使うのが普通だからBOMは要らない HTTPやHTMLならそこで文字コード指定できるし UTF8を使うのが普通だったりエンコーディングを指定できる所ばかりじゃないんだからBOMがあるのは仕方ない >>444 まさにExcelのためにBOM付けてる >>445 早くWindowsのシステムロケールが標準でUTF-8になれば良いな visual studioもbom必要 設定でutf8指定したら不要だけど 外部のソースまでutf8前提になるので踏み切れない いわゆるWindows PowerShell(5.x系)も、日本語を含むスクリプトの場合は BOM付きUTF-8 で保存する必要がある 文字コード、改行コード(何らかのデミリタ)に関わる問題は果てしなく続く そして、文字数カウント問題も... >>447 Mac, iPhone も Linux, android も BOM なし UTF8 オンリーで、十分いけてることを考ええると、 UTF8にBOM必要とかいってるやつも、日本語 Windows の system locale が UTF8 なったら手のひら返すだろうね 必要だから使っているだけで、必要なくなったら使わなくなるだけ。 手のひら返すって発想が出るのはこれをなにか派閥争いや宗教的対立ととらえているんだろうな。 みんなうるさいなぁ…全然寝れないじゃん! 結論は出ない…という結論が出てるんだから もうみんな静かにしといて欲しいわ ホントの結論が出たら起こしてねw UTF-8にBOMは不要だがBOMを要求する出来の悪いアプリが存在するというだけの話 アプリを修正すればいいだけなのに出来の悪い子のためにBOM付きファイルを広めようとするから迷惑がられる こう、「出来の悪い」とか要らん煽りをちょいちょい挟んでくるのがな 環境のCPのエンコーディングとUTF-8を両対応したくてBOMを導入した設計は偏狭 専用の閉じたデータなら勝手にどうぞだけどCSVファイルだよ 出来が悪いにもほどがある 一応Unicode規格に定められた仕様なわけだがそれを正しく実装しても出来が悪い呼ばわりするわけだな CSVファイルの一般的書式 (RFC4180 日本語訳) http://www.kasai.fm/wiki/rfc4180jp CSVファイルにBOM付けるな、なんてどこに書いてあるんだよ >>457 ABNF表記 そのRFCはメジャーではないし従う必要もないけどね VC++はコンパイルオプションでBOM無し通るようになったから許す あ、そうか。UTF-8なのにBOM入りにする理由はコードの自動判別のためか。 >>460 Windows は文字コードの指定がないとシステムロカールに設定されている文字コード(日本語WiIndows11だとCP932=SJIS)という約束になっていて、これを変更せずに UTF−8 を使いたいがための苦肉の策だった(過去形)。 最近はマイクロソフトはこの約束を破棄して標準を UTF−8 にするよう要請してるし、将来システムロケールのデフォルトを UTF−8 に変更することは確実なので、単なる経過措置。 メモ帳のデフォルトの文字コードは、BOM付きUTF-8 >>462 もう今は BOM なしがデフォ BOM 付にする場合は格納する時に明示的に選ぶ 「UTF8はBOMを付けない」 これでWindows以外は統一されている WindowsでもBOMなしが標準になりつつある 大勢は決した ExcelがBOM無しCSV/TSVを文字化けせずに読み込んでくれたら解決しそうw 自慢?のcopilot使ってもいいからさっさと解決しろやーw >>466 今でもシステムロカールを UTF8 に切り替ええると BOM なしで読める。システムのデフォルトを SJIS に設定しているから BOM なしを SJIS とみなしてるだけ。 >>467 今のExcelの挙動の方がOSの設定を反映してて行儀良いとも言える WindowsがUTF-8で統一されるには、まずはWindowsのシステムロケールの規定値がUTF-8にならないことにはな >>468 その通りなんだが、マイクロソフト自身がそこを翻して、今後は外部文字コードはシステム設定にかかわらず UTF8 にするようにプログラマー向けのガイドで推奨している。 時代は変わったというやつだな。 General Unicode requirement in INF files https://learn.microsoft.com/en-us/windows-hardware/drivers/display/general-unicode-requirement INF files should be saved and encoded as Unicode (UTF-16 LE); they must not be ANSI or UTF-8. 話してるのは交換用のデータ そういうレガシーな閉じたデータは困んないし関係ないよ Microsoft は 、UTF-8 BOM 無しを推奨する理由として「Web アプリや Unix 系の OS が UTF8 BOM 無しなので、文字コード関連のバグを最低限にするためには UTF8 は BOM なしである必要がある」と主張している。 この主張を元に PowerShell とかの基幹アプリもデフォルトを BOM 無しに移行した。 今はもう UTF-8 BOM つきを推奨するメジャー組織は存在しない。 Windows/MS がさっさと間違いを認めれば良いだけ >>473 マイクロソフトは昔はプログラマ向けにBOMつけることを推奨してたんだよ。ツールとかも勝手にBOMを追加していた。 そもそもユニコード規格で UTF8 のBOMが文字コード判別用として規定されたのもマイクロソフトの主張によるもの。 他の企業とかは反対だったけどMSが強く主張するので、妥協として非推奨という形で規格に取り入れられた。 RFC3629の日本語訳 UTF-8, ISO 10646 を変換したフォーマット https://www.akanko.net/marimo/data/rfc/rfc3629-jp.txt プロトコルはが常にUTF-8であるなら、そのような場合シグネチャ機能は完全に無駄であるので、そのプロトコルが命令するそれらの原文のプロトコル要素のためのシグネチャとしてU+FEFFの使用を禁止【すべき】(SHOULD)である。 プロトコルは、それらの原文のプロトコル要素、プロトコルの実装が常に適切にメカニズムを使う立場にあることが予測されるとき、そのプロトコルが文字符号識別メカニズムを供給するためのシグネチャとしてのU+FEFFの使用を同じく【禁じるべき】(SHOULD)である。これは、プロトコル要素がそれらの作成時からそれらの適切に分類される伝送の時間まで実装の制御下にきつく維持されるケースであろう。 禁止が不可能、あるいはプロトコルの実装がメカニズムを常に適切に使う立場にないことが予測される時には、プロトコルは、文字符号化識別メカニズムを提供しないそれら原文のプロトコル要素のためのシグネチャとしてU+FEFFの使用を禁じる【べきではない】(SHOULD NOT)。後者2ケースでは、特にプロトコルの実装が、そのような要素を、ファイルシステム、ペイロード(FTPなど)のための符号化識別メカニズムを持たないプロトコル、または文字符号化の適切な識別を保証しない他のプロトコルから得る時のMIME要素(HTTPなど)など、より大きいプロトコル要素で起こりそうだ。 >>472 UTF8のBOM付きは古いローカル環境のファイルを除いて世の中から消滅だね いずれ消滅はするだろうね。今すぐにではないだろうけど。 以下のウェブページ、ちゃんと表示されます? 自分の環境ではところどころ文字化けが 新JIS漢字で包摂の扱いが変わる文字 https://www.aozora.gr.jp/newJIS-Kanji/gokan_henkou_list.html Shift_JIS-2004にするとemacsでは見れるっぽいな >>479 ページのデコード(文字コード)の問題っぽいので、現代のブラウザでそれらの文字を正しく表示するのは不可能な気がする 少なくともChromiumにはページの文字コードを指定して読み込む機能はない(かなり前に失われた) >>481 なるほど 試しにソースをUTF-8に変換してみたら問題ないっぽいので、そこに書かれているような UCSのコードポイントがないだとか拡張されたフォントが必要だとかそういうのも 昔話くさいですね。関係者の皆様(?)ご苦労様でした ちなみに当の青空文庫、チラ見すると今でも基本はJIS X 0208/ShiftJISのようで なかなかストイックですな。結局「包摂の扱いが変わ」らなかったのかな 中々に興味深い内容だった 我々の著書はなぜ誤植まみれに?出版業界と標準規格は相容れない世界。【文字ヶョデ2】#95 - YouTube https://youtu.be/zSuD9DRzxYk?si=n55RbOykxZLOtTXB >使わざる終えない こういう誤字ってる香具師をよく観かけた >>486 流し見したけど、若いなあ。若い視聴者向けにあえて歴史的な部分を嘘で誤魔化したのかもしれないけど。 印刷業界の正字文化も、おおもとはフォントの都合。コンピュターのフォントじゃなくてフォント(物理)。 金属活字は高価なのでマイナーな漢字は種類揃えることができなきて正字しか存在しなかった。それで作家がどんな漢字を手書きで書いてこようが、植字職人が問答無用で正字に直していた。 作家に文句いわれても、これが正しい漢字だとうちは正しい漢字で出版すると言い訳してきたのが伝授されていくうちに文化として定着した。 >>484 元の文書はShift_JISx0213なんですよね。チラ見した感じではリストになさそうなので 単にメニューを追加しただけでは無理そう さらに今は名前がShift_JIS-2004に変わっているという ただ、Shift_JIS-2004にしてもIANAには登録されてないようですが このウェブ文書が書かれたときにはどうやって見ていたのだろう ブラウザにエンコーディングメニューがあった時代にもShift_JISx0213はなかったような >>488 昭和期の小説なんて送り仮名すら適当だからなあ 昔はいい加減だったものが編集その他の介入が厳格になってかっちりしたのもありそう >>491 送り仮名や当て字は昔は作家の作風の一部だったので出版社が勝手にいじるのは厳禁だった。あくまで正字に直すだけ、あとは校正校閲で指摘して作家本人に直すか確認。 最近は出版社どうのこうのの前にかな漢字変換先生が“正しい”送り仮名をつけるし、わざわざ選ばない限り当て字にもならないので差がほぼ消滅した ワードパッドはプアマンズワードみたいなもんだったから、あらゆる意味で中途半端だった エディタとして基本的なものだけでよかったメモ帳とはわけが違うな >>493 合成絵文字とか国旗とかは何文字扱いなんだろう? >>470 NVIDIA Windows 10 (64 bit) Display INF file 普通にUTF-8で草生えた そういえば、Windowsのレジストリスクリプト、 v.4はANSI v.5はUTF-16LE だったな 「世界の全部の文字は16ビットに収まる。16ビット固定長なら全世界の人が幸せになる。」 マイクロソフトの発想は面白かったんだが前提が間違っていたのでどうにもならないな。 韓国がワガママ言ってハングルだけでBMPの1/5の1万2千字持って行くとか、中国や台湾が漢字を5万字追加してBMPに入らなくなるとか想定できないのが悪い。 絵文字は同情の余地がある。Google がandroid携帯で携帯市場に参入するとかは当時は予想し難いだろう。 想定が甘かったのでなく、もともとISOで32bitで文字を表す規格化が進んでいたけど16bitに収めたい企業のゴリ押しで16bitになったんだよ >>501 その前の話だよ。ISOとかとの調整以前の動き ISOの多言語化とは別に、マイクロソフトがIBMと多言語文字コードの研究開発してたの知らずに文句言ってるだけか。 おれは歴史を知ってるふう装っても その上に歴史に基づかない妄想を書いたことは取り消せないよな https://ja.wikipedia.org/?curid=1999 1984年、ISOの文字コード規格委員会 (ISO/TC 97/SC2) は文字セットの切り替えを行わずに世界中の文字を単一の文字集合として扱える文字コード規格 (ISO 10646) を作成することを決定し、専門の作業グループ (ISO/TC 97/SC 2/WG 2) を設置し、作業を始めていた。1980年代後半にはこの作業グループにおいてさまざまな提案が検討されている。1990年になって出来あがったISO/TC 97/SC 2/WG 2作成のISO 10646の初版ドラフト(DIS 10646#DIS 10646第1版)では、漢字コードは32ビットで表現され、各国の漢字コードはそのまま入れることになった。しかし中国は漢字を各国でばらばらに符号化するのではなく、あくまで統一して扱うことを求めてこのドラフトには当初から反対しており、今後の漢字コードの方針を決めるため、WG 2は CJK-JRG (Joint Research Group) と呼ばれるグループを別途設置し、そこで引き続き検討することにした。 このような公的機関の動きとは別に、1987年頃からXeroxのJoe BeckerとLee Collinsは、後にUnicodeと呼ばれるようになる、世界中の文字を統一して扱える文字コードを開発していた。1989年9月には「Unicode Draft 1」が発表された。ここではその基本方針として、2オクテット(16ビット)固定長で全ての文字を扱えることを目指しており、そのために日本・中国・韓国の漢字を統一することで2万弱の漢字コードを入れ、さらに将来の拡張用に、3万程度の漢字の空き領域が別に用意されていた。 デフォでCJKフォントになるのまじで敗北 いちいち手をいれるの面倒なのはわかるけど チラシやオフィス文書で頻繁にみかけるし気分悪い 奴ら平仮名も持ってるから日本語のフォントに来ないってことかな 最初の優先順位はどうやって決まるんだっけ。文字数? Flutter民「おもちゃアプリで細かい事を言われても困ります」(真顔) 台湾行ったら看板とかでたまにひらがな使ってた。日本でちょっと英語を使うようなノリなのか? ということは台湾のフォントにひらがなが入っていることもあるか 日本語のフォントだって英語が入ってるものなあ >>513 何故ひらがなに着目するのかな? ひらがなが台湾に根付いて独自の使用形態に進化していたとしたら別コードを割り当てたら良いと思う 漢字のオフショア版とはレベルが違うのでは CJK一緒くたにされてるからUnicode用のフォントなら一般的にひらがな入ってる いまとなっては日本だけフォントグリフがローカルで特殊 これであってる? 日本語のテキストに日本語のフォントが使われるには 1) テキストが日本語だと判定されて 2) 日本語にはこのフォントを使うという情報 が必要。だけどこの場合そうなってない で、例えばテキスト中の文字をサポートできるフォントを選ぶ、だけのロジックだと テキストは日本語でも中国や台湾のフォントにも行っちゃう というわけで Flutterのフォントシステムというのは1)と2)はどうなってるんかなと あるいはそれはFlutterが走ってるOSの役割なのかな、とかちょっと気になったのですが HTMLならlang属性を指定している範囲がその言語 HTMLの英語使用部分にはlang=en 日本語使用部分にはlang=jaを指定する 入れ子も可能で<html lang=ja>と全体を日本語に指定しつつ 一部のパラグラフを<p lang=zh-CN>と中国語簡体字にすることも可能 全くlangが無指定ならunknownとなりそのHTMLを取り扱っている環境に委ねられる HTMLを生成する側はその部分が例えば日本語かどうか認識できるためlang=jaを指定するべきである Unicode 以前の古い時代の、中国、台湾、韓国の国家規格の文字コードにも平仮名、片仮名は入っていて向こうの MS-DOS とかでも使えてた。 JIS の文字コードにキリル文字(ロシアの文字)とか入ってるのと同じようなもんだ。 当然、大昔の中国フォントや韓国フォントにも平仮名や片仮名がはいっている >>515 Flutter民「日本だけフォントグリフがローカルで特殊」(迫真) 例えばロシアの人もキリル文字に日本語フォントが使われてしまいコレジャナイ感を 感じることがあったりするんだろうか (日本語フォントに入っているのは全角文字とのバランスを意識したデザインだったりする) >>521 変って言われたことはあるよ。 А細い文字も全角なので Flutterは言語が他で馴染みの薄いDartだから横一線での再スタート感があった。 一部を除いて、そんな動機で参加する再初心者が増えただけだから、 結局は一般知識の差や意識の低さがそこかしこで露になる。 https://qiita.com/ko1nksm/items/4907c1c88d478cac0be5 POSIX では Unicode を含むマルチバイトのロケールの文字に対応することになっていますが、現実的には対応していないコマンドがあります。商用 Unix はおそらく対応しているはずですが、Linux(GNU コマンド)や BSD 系 Unix では対応していない場合があります。Linux や BSD 系 Unix は POSIX に準拠していると主張してないので、完全対応していなくてもそういうものとして扱うしかありません。 さらに Unicode は数年おきにバージョンアップされます。最初のバージョンは 1991 年の 1.0 で収録されている文字は 7,129 文字です。現在の最新バージョンは 2023 年の 15.1 で収録されている文字は 149,813 文字です。収録されている文字の違いはソート順などに影響します。 それぞれの環境で Unicode への対応は異なり、ロケールに従えば環境ごとで結果が異なる可能性があり、ロケールに従わなければ(C ロケールでバイナリとして扱う)、一文字を一文字として扱うことができません。これを解決すると思われる C.UTF-8 ロケールは環境によって対応していない場合がありますし、話を最初に戻すと環境によってマルチバイトのロケールに対応していないコマンドがあります。 UNIX コマンドはマルチバイトという概念がなかった頃から互換性を保ちながら存在し続けており、その結果 Unicode への対応は中途半端で一貫性がない状態です。 ほとんどのコマンドがUTF-8をバイトストリーム扱いして実害ないのもある 文字列捕捉するときもASCIIで区切れれば十分だし 最初の節だけでも書いてる人間の質の低さが読み取れるけど、閉じようとして横のスクロールバーを見たらさらに驚いた >>524 もこんなもん張ってないでもうちょいマシな事せーよ ガムランとかフォルクローレを聴いてる女子小学生とか渋すぎやろ まあ俺も小学生の頃に、渡辺貞夫、日野皓正、高中正義、阿川泰子 カシオペア、喜多郎、ヒロシマ、坂本龍一、姫神、ラリー・カールトン なんか聴いてたが 漢数字の〇に親を殺されました。憎くて仕方がないのでunicodeから消してください ○を打とうとして〇を打ち込む国民が大半になってしまった。 中国人が日本語のIMEを作っているからこうなる。 日本の日本人にやらせろよ、マイクロソフトのクソは。 IMEは中国開発ってホント? 修正プログラムで賢くなった? Office IME 2007 6の疑問 https://ascii.jp/elem/000/000/195/195021/ Q2 日本語IMEの開発は中国で行なわれているって本当? A2 日本語IMEの開発は、日本で行なわれている。同社インプット メソッド テクノロジー シニアマネージャの佐藤良治氏によると、IME 2007以前のプロトタイプ開発の際には、日本だけでなく米国レドモントと中国北京にあるMicrosoft Researchとの共同作業が行なわれたという。それが誤解して伝わっているようだ。 日本でのIME開発は専任チームを置いて、ほかのアプリケーション開発と同じように独自に行なっているという。IME開発は日本のほかに、韓国、中国、台湾にチームがあって、各言語に依存しない要素(OSとのインターフェースなど)の開発は、これら4チームによる共同作業で行なわれている。専任チームの規模は日本が最も大きいとのことだ。 メールでもヘッダーと本文でSMTPUTF8を使い、添付ファイルもBINARYMIMEを使って 8bitのデータをBase64などでエンコードせずにそのまま送れるのが当たり前になったらいいと思うが この方式で送るメーラーはあるんだろうか? メールの容量を小さくできる利点があるのに 互換性のために8bitデータは従来通りMIMEとBase64でエンコードしているメーラーが多いんじゃないだろうか Eメールアドレスのアカウント部分に「smtp」という文字列を使ったEメールが最近、届いたわ。 >>531 Windows 10よりも前は、固有名詞は頑なに変換候補に出さなかったぞ。 >>534 どうやったらそんなウソがつけるんだよいくらか脳ミソ欠損してんのか?w >>536 珍しい名字はずっと排除していたのがMS-IME Google日本語入力が登場してから焦って対応したが、体制が貧弱だったせいでもはや追いつけない。 IMEの話はIMEスレでどうぞ 【Microsoft IME】MS-IME Part15【Office IME】 https://mevius.5ch.net/test/read.cgi/win/1502601208/ 文を書くとき濁点や半濁点は結合済み文字にするか通常の文字と濁点・半濁点を結合して使うかということと ()?などの記号類をASCII文字にするか全角文字にするか悩む 結合済み文字で良いのでは? 普通は一々、結合しないよね たまにWindows上の古いアプリに用事があるのだけど、ファイル名に絵文字が入って たりすると駄目なのがある。エクスプローラーでは特に問題ないようでも Windowsは全然わからんのだけど、どこかの時点でファイル名のエンコーディングとか 文字セットとか変わったりしたんですか? 単にUNICODE非対応なだけでは? 新しくても英語圏のソフトだとだめなのもありそう ↵の改行マークは下に行ってから左に行くから LFCRを表しているように見えるが改行コードがLFCRの機種は無いんだよね CRLFなら左に行ってから下に行く┏のようなマークにするのが正しいのではないだろうか リターン(enter)キーに印字されてる記号との兼ね合いもあるだろうし プリンタ端末が遅いから、本当はLFCRだけど、CRを先に送出したんじゃなかったけ? もともとは、タイプライターの動作から来てるからな。 文字をタイプして行末まできたら、送りレバーを右に動かすんだけど、 まず、レバーを押した瞬間に紙を送るドラムが回転して行送り(Line Feed)、 そのままレバーを送ればドラムの載ったキャリッジが右側に移動する(Carriage Return)。 (LFなしのCRのみの動作も可能なモードもある) この2つを合わせたLFCRが本来の形で、 ↵が改行マークなのはこれが影響していると思われる。 改行コードでCRLF(\r\n)になった経緯は、>>545 ということみたいだね。 正規表現だと/nがLFだけではなく改行全般(CR/CRLF/LFの全て)を指している場合があるよね >>541 WindowsはSJISとUTF-16の世界だからな。 いやWindowsはsjis残ってるけどmultibyteはもうutf8が主流と言っていいでしょ >>549 WindowsはデフォルトがUTF-16だから、BOMがないとUTF-8をUTF-16として扱うことが多い。 BOMってことは交換用データの話だとおもうけど だいぶ前からUTF-8推奨じゃね? 内部データとは別の話 最初APIの話で当然内部コードの話だったんだけど違う話はじめたからな 絵文字同士を結合した文字はOSによっては結合して表示されないから新たな機種依存文字になってるよね 文字幅が実行時にやってみないと確定しないのはマジで困るし非効率すぎるよな 市民への郵送物、JISコード外の氏名が文字化け さいたま市が謝罪 https://www.itmedia.co.jp/news/articles/2402/19/news091.html 発送した12万通のうち4438通で、JIS規格の文字コードに含まれない外字を含む氏名について、正しい漢字が適用されなかったという。 対象の郵送物は「さいたま市物価高騰対応重点支援給付金のお知らせ」。 給付金に関する事務を受託している事業者が、外字を適正に印字する設定を誤ったため文字化けが起きたという。 書き間違いで大量に発生したニセ漢字は今後使用禁止とするのがいいのかな 外字も必要なくなり皆がハッピー 文字化けと言っても記号列の様な感じじゃなく中華フォントになったのだろう 普段から一部の粗悪アプリで中華フォントを見させれれてる弊害だな 外字とあるから 書き間違いで戸籍などに登録された、 書き間違いニセ漢字のことだと思うよ Unicodeも振られていない「外字」が4%弱の人名に使われてるとは思わないけどね どうなの? > 2月9日(金曜日)に委託事業者から納品された通知を、郵便局に差し出すために仕分けをしている際に、 > 市職員が外字が正しく適用できていない通知を発見したことで覚知しました。 記号列(◇の中に?等)タイプだと委託業者や印刷所が気が付く可能性が高いから ワタナベやサイトウ等のIVSを反映してなかった、と言う可能性はあるかも チェックした職員はGJだな、普段から外字を気に掛けてるのだろう 右から左に字を書く文化圏でもBackSpaceやEnterキーの矢印は右から左なんだよね >>563 え? 某OS上の某キーボードの中の人だったが、逆向きにしたぞ UIは基本的に左右が逆 あと、括弧や不等号を入力すると逆向きになったりする おかげで一時期頭がアラビア語脳だった しかし、日本も戦争に負けなければ「右から左に文字を書く文化圏」なんて 他人事じゃなかったはず アメ公のせいじゃけんのう。くやしいのう あれ、でも実はそうかな? 念の為、競合の某大手のもチェック.... OK,、仲間発見。 焦るじゃないか。いい加減なこと言うんじゃない ああ、OSによってはリターンキーのデザインとかキーボードの言語でなく UIの言語で決めていたのもあったような気がするな くそっ、俺にとって今はどうでもいい事なのに気になるじゃないかw >>565 >あと、括弧や不等号を入力すると逆向きになったりする >おかげで一時期頭がアラビア語脳だった 頭がパニックになりそう 頭脳パズルで使える 文字は右から左だけど、数字は左から右だったような 日本語で表現すると「すーまりいはータッリ30ンリソガ」みたいな感じ 数字をリトルエンディアンで表記していると考えると自然。 日本語は中国語と同様に元々縦書きで右から左に行が移る言語なので、横書きした場合は右から左に書いていた。1行の長さが1文字になったみたいな感覚だ。だから戦前戦中は横書きというと右から左に書いてあるのが多い。 これが左から右の英語と同じようにした理由は戦後英語から翻訳した文を下に書く時に見易いから。 左から右の横書きは戦後ではなくそれよりもずっと前からだよ あくまで右から左がなくなったのが戦後というだけの話 >>569 「ガソリン30リッター」の部分が英語だとしたら、そこは左->右なので 「すーまりいはガソリン30リッター」としなければならない >>575 もちろんそうですが何か? というか右->左の言語一般かな。ヘブライとかも 難しいのは言語の境界で、例えば「ガソリン30はいりまーす」だとして、 「ガソリン」が英語、「30はいりまーす」が日本語(右->左)だと思えば 「すーまりいは30ガソリン」となるが、「ガソリン30」で区切れると判断してしまうと 「すーまりいはガソリン30」と、違う結果になってしまう あるあるだよね〜 MS-IMEのせいで丸印が、漢数字の零(ゼロ)に置き換わってしまった。 日本マイクロソフトは常に中国人に日本語を担当させているから、取り返しのつかない事態になってしまった。 漢数字はフォントによっては真円じゃないからな。 潰れた丸印だと何これと思う未来がみえる。 区切り文字としてHorizontal Tabは使われているが Vertical TabはTSV形式でも使われていないよね 他にも0x1C-0x1FのFS GS RS USも区切り文字として想定されているのに使われていない UTF-8で記号がたくさん登録されてしまったのも問題だよな ハイフンのような横棒は種類がたくさんあって、文字フォントの見た目では区別できなようなものもある。 それよりもはるかに深刻なのはスペースに見える文字がたくさんあって スペースを取り除くプログラムを書くのが不可能に近い >>587 正規表現はASCII文字くらしか想定していないが、UTF-8のASCII文字限定であれば問題ない。 まだこんなレベルが複数いるとはな 585はなんだとおもってるんだろうか FS GS RS USを区切り文字にしている形式はあるんだろうか 文字列の16進コードでも正規表現できればわかりやすくなる 何語でもよくなる Unicodeのコードポイントが7FFFFFFFではなく10FFFFまでになったのはUTF-16で表せるのが10FFFFまでだから? >>595 >>7 FFFFFFFではなく その前提はどこから来たのやら... >>596 UTF-8 で表現可能な上限が 0x7fffffff だな。 UCS-4 すなわち UTF-32 だと 0xffffffff UCS-2 だと 0xffff UTF-16 の上限に合わせているというの合ってる。 仮にUTF-8のビットパターンで1バイト目に11111111を使っていいとしたら その後は10******が8バイト続くことになり48bitまで表現できることになるね >>593 マルチバイト文字に [] が使えなくて | で書かなきゃならんから少し面倒にはなるな。 >>599 未定義なので定義次第。6バイトの次が7バイトや8バイトは限らないので10バイトとか定義すればそのまま64ビットをカバーすることできるし、拡張の余地は残してある。 >>595 当初UCS-4は最上位ビットをエスケープなどの用途に使い それを除いた7FFFFFFFまで使用可能にする計画だったはず しかしUnicodeの上限が10FFFFと決まったためにUCS-4もそれに合わせて10FFFFになったのでは C: \のようにディレクトリの区切りが円マークなのは文字化けの結果なんだよね C:\のようにバックスラッシュが本来の文字なのに 円マークの方が見慣れていてバックスラッシュだと違和感を感じてしまう なぜディレクトリ区切りにスラッシュではなくバックスラッシュを採用したんだろうか 603の1行目でC:の後に0xA5を入れたらバックスラッシュになってしまった・・・ 別に文字化けでもないでしょ バクスラなのはオプションがスラッシュだから Win32のファイル関連APIはスラッシュでOK NT APIを直接使う時にはスラッシュはNG GUIコントロール、ダイアログなどで独自処理してる箇所はスラッシュの考慮漏れ多数 Windows のRuby では、/ も使う。 C:/Users/Owner/Documents/a.txt WSL2, Linux なら、/mnt/c/ とか /mnt/c/Users/Owner/Documents/a.txt C:\Users\Owner/Documents/a.txt なんてのが OK な処理系もあるな 処理系というかDOS/WindowsならOSがそうなってる >>603 UNIXの真似したかったんだけど同じにしたくなかったんじゃね? ゼロは、〇とか0とか0もいいけど、ぼくはΘが僕はスキです。 ディレクトリ区切り は、> が、ボクは、好き❦❤♥ もともとDOSはCP/Mの互換OSでディレクトリは無かった。で新バージョンで UNIX 等を真似てディレクトリを導入しようとしたんだけど、その時点で / はオプションの導入記号として使用済みだったので仕方なく \ を使った。単なる歴史的経緯。 DOSはSWITCHARをコマンドでオプションの記号を/から-に変えられたようだが Windowsにも同じ機能はあるんだろうか? >>614 config.sys に書くやつなので同じのはないな。 一方で windows の内部API は \ だけじゃなくて / もディレクトリ区切りとして受け付けるというか、むしろ内部的には / に統一なのでDOS互換の目的以外でオプションに / を使う意味はない。 2018年の記事でこのネタを扱って「この事実が開発者の間に広く知られるようになったのはここ数年ぐらいのこと」と書いちゃうの 筆者さんのお年頃を感じるわ Windowsは長いパスを想定していないなど、いまさらどうにもならない部分はたくさんあるからなあ。 Windowsそのものは互換性の維持から変えられない Windowsだと日本語のパスを普通に扱うから、UTF-8のストレージからコピーしたものなどは、キャラクタセットの問題で同じファイルと認識されないことがある。 robocopyコマンドなどは日本語の濁点文字を変換できないので、Macなどから持ってきたファイル、フォルダなどをWindowsは正確に置き換えられず、新しい別のファイルだと判断してしまう。 Unicodeの正規化の問題はマカーでもMacが変だとおもってるから zipとかを客に要求されたときは気を使ってる 俺はスクリプトでアーカイバ書いた UTF-8は同じ記号を二重に定義したりと迷惑極まりない 日本語のフォルダ名、日本語のファイル名、半角スペースが入っているパスなどは、やはりキャラクタセットの問題、区切り文字と誤認識したりと日本語を使う弊害があるから、MacユーザーはWindowsでも問題ない名前にしてくれないと無用なトラブルを起こす。 >>628 そんなこと言うとマックユーザーは濁点や半濁点が禁止になるぞ?! >>629 UNIXで日本語を普通に使っている時点で問題があるのにな Macユーザーは知識のない人間が多いのは事実だし、シェアが低いのにMacの方が売れているかのような嘘を話す。 句読点話とか昔から議論があって、国とマスコミが合わせている話を最近の話だと思っているのは、ネットの捏造話題に振り回されすぎだw 改行コードは、LF CR LF+CR どれが間違えなのか統一しろっつうの >>634 迷ったときはとにかくBOMなしUTF-8でLFにしろ WindowsはBOM付きじゃないとUTF-16だとみなすことが多い。 >>638 そりゃあWindowsはそう判定するかもしれんけどな 普通はWindows上で動作するアプリの方にファイルを食わすんよ そんでそのデファクトがBOMなしLF UTF-8って寸法さね Windows なら BOM 無し CRLF UTF8 ではないかと思う どっちみちアプリ専用なら決め打ちだろうしな 自動判別が必要なものなんてテキストエディタくらいだろう 結局ネット互換性で文字コードは統一の方向に向かっている感じ。昔はOSごとにバラバラでも問題は大きくなかったんだが最近はそうも行かなくなって、ネット交換性のないアプリとかは時代遅れになっているし、開発もOS独立が主流。 今の所ネットでは、サーバーは Linux が圧倒的なシェアを持ってて、クライアントはスマフォ、特に android がシェア1位なのでやっぱり linux なのでその文字コードに全体が引き寄せられてる。 横サイズ×縦サイズのように大きさを書くときには U+D7の乗算記号を使うべきなんだろうがアルファベットのxで書かれていることが多いよね 乗算記号はキーボードから直接入力できないからこうなってしまったのか キーボードから直接入力できる*も乗算記号の代わりとして使えるはずだがこの表記もあまり見かけない >>643 Latin-1補助の文字集合というのがいまいちねえ そういえば円記号だって0xA5だけを使うという世界線がもしあったなら かける での変換、Shift キーとの同時押 下が面倒で x で代用するのかもしれんな >>646 もともとユニコードとか日本語とか実装される前の時代というか、コンピュターができる前のタイプライターの時代に乗算記号を x で代用する文化ができた。それが今に引き継がれてるだけ。 そもそも乗算記号は世界共通じゃないのよ ×じゃなくて・使う地域がある 除算記号も:使う地域がある 桁区切りや小数点が違うのは、国際化ライブラリで変換してくれるのがあるよね 数学の演算記号もカバーしてたりするんだろうか コンピュータ言語だと*と/で代用してるからね 世界共通じゃないのと普通の文章であまり出てこないのでASCIIコードに入らなかったんだと思う 数学だと乗算記号は省略されるし除算も分数表記になるし >>650 そんなこと言ってると APL 投げつけられるぞ? セル内文字 ⇒ Unicodeは excel関数として存在する。 かつ UnicodeをUTF-8に変換 のロジックもネット上にあり 然るに、 EXCELセル内文字⇒UTF-8に変換 は、excel関数になくても、 vbaで自作可能❢ なハズです。 なので、EXCELセル内文字⇒UTF-8に変換 するVBAを開発するぞーーー。てか開発させよっーーーと by 🤡の呟き っていうかさ、UTF8 TO UNICODEを開発するぞ UTF8の16進数のやつをUNICODEの16進数に変換 するやつを開発トスル。すると、UNICHAR関数 (EXCEL関数)で、漢字が表示されるハズ スゲーー完璧なプラン(計画) ✌ 以下はその為の備忘録ぢゃ ───────────────── unicode「304A」をUTF-8に変換 1 「304A」を2進数に変えます。 2 それが0800〜FFFF⇒ 先頭から4, 6, 6ビットに分ける 3 それらの先頭に、E0,80,80を足す。 即ち 例「お」Unicode ⇒ UTF-8 は 304A ⇒ 0011 0000 0100 1010 ∴ 304A ⇒ 0011 000001 001010 ∴ 304A ⇒ 03 01 0A ∵16進数 これにE0,80,80を足す 304A ⇒ E3 81 8A ∵16進数 即ち例「お」UTF-8 ⇒ Unicode E3 81 8A ⇒ 03 01 0A ∵E0,80,80を引く 03 01 0A ⇒ 304A ∵🤔 🤔のロジックを検討中 bit shift とか知ってる? bit and とか bit or とかは? bit shift等なんとなくわかる で、何となく、どうにかなりそう。 x = x*2 '''xが128未満で左シフト x = x\2 '''右シフト x = x+192 '''xが64未満ならbit orかな bit and はちょっと難しい by 🤡 例 UTF-8でE3 81 8Aを、文字表示 E3 81 8A ⇒ 03 01 0A ∵E0,80,80を引く 03 01 0A ⇒ 30 4A ∵🤔思考中 30 4A ⇒ 「お」∵Unichar関数を借用 🤔のロジックを関数UtfStrとする。 プロシジャー名はUtfStrとする。 Sub 図形_Click() '「お」と表示されるハズ、多分 Msgbox UtfStr(&hE3h,&h81,&h8A) End Sub Function UtfStr(a1,a2,a3) as string b1 = a1 - 224 '''&hE0 を引く b2 = a2 - 128 '''&h80 を引く b3 = a3 - 128 '''&h80 を引く c=256*(16*b1+b2\4)+64*(b2 mod 4)+b3 UtfStr=WorksheetFunction.Unichar(c) End Function by 🤡机上済でも未テスト∴bugあるかも 👤 cの計算式内の16*b1は左2BITシフト? 🤡 yes b1 = a1 - 224 後の処理だから、 数式16*b1は、16*(a1 - 224)と同値だし 数式16*b1は、意訳で、左2BITシフトだ 🥳a1が224未満(モチ、a1がE0未満)で バグる気がするぅーーー 早くテストしてバグって混乱するとヨイ 🤡UTF8で 00 00 00 〜 DF FF FF でバグるか? んーーーー 出演者 🥳バカテスター 🤡プロマネ(元プログラマ) 👤宇宙人のランベルト星人 🥳プロマネが作った>>656 のVBAをRunしたらエラーでRunしない。バグ発見∴嬉しいデス ちゃーーーーんとテストしてる証だぁ 🤡 &hE3h は、&hE3 だった。てかそんなの報告せず 修正してテストしろーーーちゅーーーの 🥳 で、修正してテストしたら上手くいっちゃった ちゃんと、「お」とメッセージボックスに表示された 🤡 だろ\(^o^)/ ま、たった一文字だけど 今後は更にコード改造して、UTF8のをEXCELに表示させるぜ 🥳 たったの一文字で、それも「お」だけしかテストしてないぢゃーーー 🤡 最初の一歩はこんなもんだ。てかうっせーーー 🤡 Function UtfStr(a1,a2,a3) as string だけど、引数a1,a2,a3 の型はどうしようかな? 未指定で上手くいっちゃったみたいたけど、 なんか、やーーーだな 修正前 (a1,a2,a3) 修正後案1 (a1 as byte,a2 as byte,a3 as byte) 修正後案2 (a1 as integer,a2 as integer,a3 as byte) 修正後案3 (a1 as long,a2 as long,a3 as long) 修正後案4 (a1 as double,a2 as double,a3 as double) どれにしようかな? てかどれでもいいぽいけど 常識的には案1かな? てか案3もいいな。 てか、案4が個人的には好きだけど非常識だろし 案2にするなら、ヤッパ案3だし、んーーー 🥳 (a1 as byte,a2 as double,a3 as long) はどう❓。なんでも上手くいくなら上手くいきそうぢゃーーーん 🤡非常識なヤツ。てか案3にしよっと 👤 UTF8かつカテゴリ3BYTEなら、 そのロジックで、バッチリだろうが・・・ 🤡 オレッちの開発の、秘伝の数式 c=256*(16*b1+b2\4)+64*(b2 mod 4)+b3 は、モチロンバッチリだよな ✌ 👤 で、EXCEL VBAで実装するのか❓んーーー 🤡 モチロンだ。ってか連れないな。なんで 👤 その程度の数式なら、VBAは不要でさ、 EXCEL関数だけで、イケる気もする。 VBAを走らせなくても、UTF8コード値の入力 と同時に、文字(漢字等)が表示されるぜ 🤡 なるほど。入力と同時文字表示は、いいな VBAでの実装は保留とし、EXCEL関数での 実装を検討とする 👤 商を求めれるExcel関数は、QUOTIENT 且つ、余りは、Excel関数は、MODだ 且つ、EXCEL関数には、HEX2DECも存在 且つ、EXCEL関数には、UNICHARが存在 🤡 上手くやれば、EXCEL関数に、 UTF8CHARがなくても、UTF8CHARって感じの処理は可能な様な気がする 🥳 どうせ一文字だけだろ。まだまだぢゃーん。 🤡 最初の一歩は、慌ててはいけない。 「恋は焦らず」なんて題名の曲があるだろ てか、文字連結はEXCEL関数てか&できるし 数十文字位の改造も、楽勝と思うよん。 🥳 ちぇっ、つまんないの。楽勝なのかよ てか、カテゴリ3BYTE以外はバグぢゃない? 🤡 可能性は高いけど、カテゴリ3BYTE専用だ 🥳 なんか狡いのーーーー 🤡 これで良いのだ。 🤡てかカテゴリ3って何❓ 👤地球のネットによると漢字の様な感じだ。てか オレの霊感ではほぼ大部分の全角文字の気がする なお、霊的な直感なので、違っても怒るなよ 🥳ランベルト星人って地球人より無限大頭がヨイのに 霊感とか直感なのかよ。 てかさ、漢字は全角だし、ネットで漢字とか記載されてるけど ポクのヤマ感だと全角文字の、ことだろ。てかなんで カテゴリ3byteなんだろう。全角って2byteって気もする 🤡んーーオマエのヤマ感より宇宙人の霊感が正しい気がする、霊感的に 👤 ーーー、いやま、半角のカナ記号も UTF8では3byteだし、半角でもカナはカテゴリ3 だ。半角英数はASCiiだからカテゴリ3ぢゃないと思う てか、地球のUTF8訳わからん。 てか、EXCEL関数でもVBAでもどっちでも良いのでドンドン実装しちゃいなさーーーーい 🥳ドンドンしちゃいなさーーーーい >>663 🤡 はい。(VBA等は使用せずに)で EXCEL関数で、実装しちゃいました。 ま、テストデータは少ないからデバッグは必要かもだが そんなデータ入れるヤツがヤヴァイとみなし作業は完了 ま、どんなEXCEL関数でロジック作ったかは 無限大日未満に、公開と思うけど、 >>661 であの宇宙人が書き込んだEXCEL関数を 上手く組合せて完成。 ってか、これからはプログラミングなんて不要だぜ てか、やったぜ。てか スマホの連絡帳のVCFファイルのUTF8的なんだけど それを表示させる作業しなきゃ では、一旦バイバイーーーー やっほーーー 🥳プロマネがはしゃいでる。ポクとは違くアル 🥳ていうかさ、664よ。何が完成だ❢ S社のスマホの連絡帳で vcfエクスポートしたら、 ファイルcontacts.vcfがエクスポートされ それをウインドウズパソコンに 移動させて、 contacts.vcfを開いたら文字化けた。 電話番号は半角数字の為かバッチリだが 氏名(妙・名) など、文字化けで読めん。 ちなみに、メモ帳で開いたら =E9=8A=80=E8=A1=8C という感じで表示 ま、UTF8ぽいけど、なんだこれ👿 「=E9=8A=80=E8=A1=8C」 ぢゃなくて 「銀行」を出力しろっつうの ※補足 E9 8A 80 は銀でE8 A1 8Cは行 ていうかさ、 「=E9=8A=80=E8=A1=8C」とセル入力で 「銀行」をセルに出力する EXCEL VBA できればノーコードで EXCEL 関数で、 「=E9=8A=80=E8=A1=8C」とセル入力で 「銀行」をセルに出力する やつ作れーー by 🥳バカテスターだが、ご尤もな主張 >>665 うっせいなーーてか、あのロジックは Excel関数で絶対参照はやらずに、相対参照のみで構築した リロケータブルって感じロジックだから、 ロジックの改造は用意だ。でも ヒマな時につくる。 イコールがでリミッターって感じだな。 ま、尤もな主張は認める。てかノーコードは修正が楽ちん ただし、ロジックは、VBAで設計するのがいいり 実装はそのVBAを参考にヒトがEXCEL関数に手作業で実装だ。 🥳てか、どうでもいいから、早くつくってよ CONTACT.VCF あれ文字化けだよな❓ 🤡おれも、それは、文字化けだと思う。 悪いけどなにひとつ面白くないよ 当人だけがユーモアセンスあると思いこんでる中高年フリーランス(お察しください)か何かか NGNAMEしようにもご丁寧に毎回名前欄かえてくれてるみたいだしなあ いつまで続けるつもりなの? なんやかんやで、読者さんがいる。という訳で ノーコード(といってもexcel関数で概略) セル★に「:=E9=8A=80」入力 注 先頭には「:」を入れる事 セル☆はMID(★,3,2) でそこは「E9」表示 セル□はMID(★,6,2) でそこは「8A」表示 セル○はMID(★,9,2) でそこは「80」表示 セル🟦はHEX2DEC(☆)で 233 となる セル🟫はHEX2DEC(□)で 138 となる セル🟪はHEX2DEC(○)で 128 となる セル⭐は以下の数式でUNICODEにさせる 256*(16*(🟦-224)+INT((🟫-128)/4)) +64*(MOD((🟫-128),4)) +(🟪-128) で ⭐は37504 となる セル🌟はUNICHAR(⭐)で「銀」と表示 by 👤 これがランベルト星人のノーコードでのロジックだ(注 概略) ⭐の37054はunicodeだけど十進数のunicode 単なる補足でした さてと、一段落したから、次回は暫くかも。気が向いたら また投稿するね。てか、文字化けvcfの漢字が表示されたので 嬉しくなって投稿しちゃいましたーーーでは、バイバイ👋 🥳 今イロイロ、連絡帳のcontact.vcfのを半手作業で その668のロジックで、文字表示してみたんだけど・・・ 30点不合格って感じですね。入力と同時に文字が表示されるのは 素晴らしいけど、でも 🙆 漢字(全角)なら、まず正しく表示 ❌ 半角英数字は、⭐が異常な値(例えば負数)になり はUNICHAR(⭐)で エラーで、#VALUEと表示ですな EXCEL関数でやるのは、困難と判断する。 🤡ま、氏名とか住所の項目に全角文字だけなら上手くいきそ でも、その様な項目に半角文字が混ざるとダメか、 これは、ヤッパバグだな。(;´д`)トホホ… 例 5チャンネル なら○と思われるが 5チャンネル は、5のUTF8は&H35で&hE0未満故に🙅 ∴ >>657 の指摘が的中かよ。 バカテスター、なかなかやるな てか、(;´д`)トホホ… スクリプト? いやexcel関数で⭐とかは任意のセルの意味 ちなみに、全角漢字+半角数字混在のcontact.vcf のUTF8らしき、文字化けで読めないのは、ドウニカ、なった >>636 UTF8なんて欠陥規格は使用禁止にすべきだな。殆どの文字がUnicodeの原形が分からないほど いじくりまわされたコードにされてしまい非常に分かりにくいし、大部分の文字がUTF16より バイト数が多くなってしまうから。単にASCIIがUTF8でも同じコードで同じバイト数で表せるという 理由だけのために、ASCIIに未練がある老害が欠陥規格を押し付けている。英語のまともな文章すら 書けないASCIIなんてもはやゴミ同然なのに、変化を受けいられないのは頑迷固陋すぎる。 ASCIIからの訣別を促進するため、プログラム言語の予約語や演算子、HTMLのタグなどに ASCIIにない文字をどんどん採用すれば良い。老害もASCII外の文字を強制的に使わせられれば、 奇怪な変換をしない素直なコードが合理的で優れていることを思い知らされるだろう。 よくわかるけど、よくわからないから、 絵文字も、ASCのも、全角漢字も、半角数字も、半角カナ なんでも、4byteのコードであるUTF32 にしろーーー ASCとかUTF8とかUNICODEとかEDなんとかは、今すぐ廃止しろー てか、UTF32ってなんでも4BYTE/文字 なの❓ だとしたら、UTF32だけでいいんぢゃなーーい。 UTF8 UTF16 UNICODEも今すぐ廃止しろーーーーーー ていうか、UTF8は、名前をかえろーーーーー UTF8は、UTF8兼UTF16兼UTF24兼UTF32 という名称にしろ てか、UTF8は なんちゃってUTF8 がいい。 by 🥳 そうだ。ASCIIは、廃止しろーーーーーー老害だーーー だけど、ASCIIアート廃止は、反対だーーーーー てか、やっぱりEBCDIC IBMが1963年に定めた8ビットの文字コード にしろーーー。老害も、超賛成すると思う しかも、8ビットだから、EBCDICこそ、UTF8という名前にして 今のUTF8は、モピロン、なんちゃってUTF8に改名しなさーーい ていうか、EBCDICなら、老害も賛成するんぢゃなーーーい❓ てか、5CHってサイコー、絵文字も、お絵描きも 化けない ぽぃ n文字目の最初のが、E0以上は n文字目は、UTF8カテゴリ3byte n文字目の最初のが、E0未満は n文字目は、UTF8カテゴリ1byte∴ASC 「赤」という文字の色は、黒だけど 「赤」という文字の文字コードは、「黒」の文字コードと異なる 当たり前ではある。 さて、 000000000011111111 123456789012345678 「UTF8 PRINTABLE:=30」という感じの文章があるとする これは、18文字だと思うだろ?! でも、どうやら1文字だ。なぜかって 意訳すると、その18文字は「0」という1文字だ ちなみに、0x30はUTF8でもASCiiでも「0」という1文字 だったかな。 by 👤地球人の文章には呆れる┐( ∵ )┌ てか、UTF8よりASCIIアートがこれから主流だーーーー✌ >>678 なにこの、厳密性の低いロジック やっぱりこれからは、>>679 様のご主張の通り 絵文字1⃣💃🤡とか、ASCIIアート的な文字だ。 ASCIIアート的なのは、ASCII4文字がいいな。 4文字熟語というか、4文字ASCIIだ。ていうかさ お前の書き込んだ n文字目の最初のが、E0以上は n文字目は、UTF8カテゴリ3byte は、ラフすぎる n文字目の最初のがE0以上F0未満⇒n文字目は3byte文字 n文字目の最初のがF0以上⇒n文字目は4byte文字 だぜ。 おそらく、4byteのは絵文字💃🤡1⃣とかだから、 絵文字もバッチリな変換ロジックとなるぜ、 1byte〜3byte文字の様な、asciiとか全角漢字なんて もうこんなの文字ですらないもんねー。廃止しろー で、絵文字とasciiアートだけでよろしいーーーー✌ 5chの書込で絵文字1⃣って書き込むと お絵描きのようには表示されません、 バグってるぅーーーーと思う by🥳発達障害テスター >>678 680 UTF8は、 F0-F7は4バイト、F8-FBは5バイト、FC-FDは6バイト らしっす。 👤 でUTF8は、FE-FFは何バイトだ。その調子なら7バイトか? 地球の書では、それは最大6バイトだから 6以下なのに7バイトというランベルト星にも存在しない値か❓ 🤡第1バイト目は、UTF8は、第1バイト目は、FE-FFは、UTF8でない との旨がネット記載されてる。意味は通じない文章だ 👤んーー地球人は理解できん。てか一応地球の論理学的には UTF8でないと仮定で、UTF8でない ∵自明 @ UTF8であると仮定で、UTF8でない ∵背理法?A @でもAでもUTF8でない だな。 もし、UTF8なのに第1文字バイト目がFEまたはFF⇒ そもそも、変換プログラムがバグってるか、 そもそも、UTF8ですらない。 というのだろう 念のため、ASCIIコードでFE FFのASCIIコードが 存在するような体系があるか調査しておけ 🤡めんどくせー、3バイト文字と、みなして変換して 変換エラーになるだろうから、それでお茶濁すのが 実現的なオレッちのやり方。ぢゃーバイバイ👋👋👋 🤡てか、ASCii 127は存在する。16進数に翻訳すると ASCii FF は存在すると言うことになる。 👤 んーやはり思ったとおりだ、FFがある、でなんて文字だ 🤡 文字をパンチ穴空けて消しちゃうという機能のようだ 👤 紙に穴🕳を空けて、文字を消すってことなのか❓ 🤡 多分そうだ、モピロンUTF8もその機能を継承すべきだよな。 👤 モピロンた。🕳を、空けて文字を消すのだ。てか 地球人は頭が変だ。 🥳 えー、ウッソーーー バイナリファイルにFF FF FF FF FF FF ・・・・・・ で、メモ帳でUTF8でそのファイルを開くと んーーーきっと🕳🕳🕳🕳🕳が表示されてさ、 それを印刷すると、プリンタが紙を🕳穴だらけにしてくれるか 早くテストしてみようーーーーよ。 👤🤡 オマエはもっと頭が変だ。 てか😅 1111 1111 = 255 = FF 0111 1111 = 127 = 7F だFFと7Fは違うといというか、カテゴリー何バイトにするのか はやく、設計決めろーーちゅーーーの 🤡突然ですが、下記要領でテストやれ バイナリエディタぽぃツールで16進で 31 32 33 34 35 7F FF 31 32 33 34 35 のファイルを作成。それを メモ帳でUTF8で開く 尚フォントはいつものヤツとする 🥳の予想:12345🕳?????? と表示され そして、🕳と表示のとこは、絶対 穴が開き壊れちゃいますぅーーーーー 👤の霊感:12345 か 12345(del) って感じ 🤡答え 12345・12345 と表示された ただし、・は UNICODE 30FB ではなく なんと、・は UNICODE F8F3 だ F8F3というUNICODE は、 ネットで調べたが、意味がわからん∴謎 🤡 ちなみに、・はメモ帳からexcelにコピペし DEC2HEX(UNICODE(⭐))というEXCEL関数したら F8F3 と表示された ってことは、 utf8の 7F FF ⇔ unicodeの F8 F3 との変換をメモ帳は内部でやっていると 憶測される。 BY 🤡の憶測の的中率は6.66‥% てかUnicodeの範囲外かつ、UTF8の範囲外としても、 一応UTF8を変換してはくれてる。 というか。地球の書、主語を意図的曖昧にして解りづらくしてるんとちゃう❓ てかカテゴリー何バイトにするのか はやく、設計決めろーーちゅーーーの >>668 ランベルト星人よ。それはカテゴリー3の場合の数式だな オマエのは、地球のネットの文学作品を読んで作ったような数式だ。 ていうか、これが秘伝の数式だ UTF8 = 14897152+ UNICODE ∵カテゴリー3 但し、UNICODE UTF8一覧表をみて、霊感で閃いた数式なので これが間違ってても怒らないでね by 🤡プロマネ 🥳プロマネやるーーーー。中学一年生の数学レベルぢゃーーん ランベルトって宇宙人、厨房よりバカなの❓ 👤うっせー。なんか数式一発なんて狡い。 🥳あ、負け惜しみだーーーー 🤡いや、まだテストしてない。それに霊感だ。 😅カテゴリー何バイトにするのかは、後回しで その数式で上手くいくか、早くテストしろー でカテゴリー3専用だろ 🤡ちなみに、 UTF8 = ASCii ∵カテゴリー1 だ 😅はやくカテゴリーを計算するのをつくれーーーー 先頭文字 カテゴリ ─── ── 00-7F ⇒ 1 C2-DF ⇒ 2 E0-EF ⇒ 3 F0-F7 ⇒ 4 F8-FB ⇒ 5 FC-FD ⇒ 6 上記以外 んーーー暫定カテゴリー1? >>673 ? もしや君、UnicodeとUTF8を別のものと思っている? 👤 コラ、プロマネよ。チミの数式一発のやつ カテゴリ3バイトのでも、99%超の確率でダメだ。 霊感どころか、直感もないダメ数式ですよーーー やはり、カテゴリ3のほぼ99%以上(霊感では100%)について 下記の、超秘伝の数式でバッチリなのぢゃ 🟦1byte目のUTF8の10進数 トスル 且つ 🟫2byte目の それだ トスル 且つ 🟪3byte目の ぢゃ トスル スルト、 ⭐ = 256*(16*(🟦-224)+INT((🟫-128)/4)) +64*(MOD((🟫-128),4)) +(🟪-128) というランベルト星の秘伝の数式により ⭐には地球人が発明したUTF8の10進数をゲットぢゃ なお、霊感では、多分全てのカテゴリー3の文字で成立のありがたい数式ぢゃ 🥳 プロマネダメぢゃーーーーん。霊感に頼るからだよん てかランベルト、やるぢゃーーん。霊感バッチリぢゃーーん、 👤 いや、霊感というか地球の書をやっと理解して後は、ま霊感ぢゃ 🥳 UnicodeとUTF8をまったく別のものていうか、 UnicodeでUTF32の亜種のような気がする 👤 ┐(‘〜`;)┌ よく使う言葉を漢字1文字に割り当てるルールがあればよい ウクライナ→浮など 同じ漢字の場合の勝ち負けルールも決めておく 2byte専用縛りのUTF to UNICODE の変換数式だ 【カテゴリ2専用 普通にテスト済】 セル★に「:=C2=AE」と入力 注 先頭には「:」を入れる事 セル☆はMID(★,3,2) でそこは「C2」表示 セル□はMID(★,6,2) でそこは「AE」表示 セル🟦はHEX2DEC(☆)で 194 となる セル🟫はHEX2DEC(□)で 174 となる セル⭐は以下の数式でUNICODEにさせる ⭐=64*(🟦-192)+(🟫-128) で ⭐は 174 となった セル🌟はUNICHAR(⭐)で「®」と表示 なお、ある ンゴ文字 を連結で 表示が逆(右から左)に表示されたり、 右詰めに表示されたりしたが キニシナイとする。エクセルでの表示だし とにかく、下記数式は、バッチリ ⭐=64*(🟦-192)+(🟫-128) ∵2byte専用 BY 👤まずまずなので嬉しくて投稿しちゃった 🥳ランベルトって子供みたーーーーい ❌ンゴ文字 ⭕ンコ文字 に訂正 >>674 プログラム言語の予約語や演算子、HTMLのタグなどには 制御文字を使えばその文字がコマンドの一部なのかデータなのかどうか 判別しやすくなるのにそんな使われ方にはならなかったね。 0x1B(ESC)はそのために存在する文字なのに。 【修正前】 UTF8文字 カテゴリ ─── ── 00-7F ⇒ 1 C2-DF ⇒ 2 E0-EF ⇒ 3 F0-F7 ⇒ 4 F8-FB ⇒ 5 FC-FD ⇒ 6 上記以外 んーーー暫定カテゴリー1? 【朝令暮改 改訂】 UTF8文字 カテゴリ ─── ── 00〜7F ⇒ 1 C2 80〜DF BF ⇒ 2 E0 80 80 〜 EF BF BF ⇒ 3 F0 80 80 80 〜 F4 BF BF BF ⇒ 4 F800000000〜FBFFFFFFFF ⇒ 5なの? 不正なの? 地球人の書イミフ FC0000000000〜FDFFFFFFFFFF ⇒ 6なの? 不正なの? 地球人の書イミフ 上記以外 ヘンなのはカテゴリーは1でいいやーーーーー by 👤地球の書を更に完璧に理解したぜ 🥳宇宙人、更に病状悪化。治療不可だな >>693 ここでのUnicodeはUnicode表に載っているコード値という意味ね。 UTF8はU+100以上の文字がUnicode表とは似ても似つかぬコードに変形されてしまうので不可。 UTF16はU+10000以上の文字が変形されるのはあまり好ましくないが、結果のサロゲートペア U+D800〜DBFFとU+DC00〜DFFFもUnicode表に載っているのでまあ可。 >>700 自己スレ 朝令暮改を更に改訂 今度こそ最終案 【超々最終案】 とにかくカテゴリー、キーメタ。 UTF8の先頭 カテゴリ ─── ── 00〜7F ⇒ 1 C0〜DF ⇒ 2 80〜EF ⇒ 3 F0〜F8 ⇒ 4 上記以外 ⇒んー悩む。0だけど1かな by👤地球の書 更に超完璧に超理解したぜ 🥳 どの案でも、いいぢゃーーーーん。 >>702 似てもに似つかぬとか言い出すのはお前が16進数とか使ってるから。2進数使えば解決。そのままだということが分かる。 🥳 モピロン、ASCiiもUTF8も、なんでも、 文字がASCiiなら、同じだ。ちがうのはunicodeだけ 「A」は、ASCもUTF8も、1BYTEだけど、 UNICODEは、1BYTEぢゃないもんねー。2バイトかな。 1と2は、違う値ですよーーーーーーーー。BY🥳 >>703 こら、自称宇宙人!、カテゴリーは10進数はOKだが UTF8の先頭は、16進数だけでなく、2進数も併用して 書き直せ、ちゅーーーーの by 🤡 10進数にしよっかな by 👤 🤡サロゲートペアてかカテゴリー4の UTF8toUNICODE を設計しろ。で まずは、 U+10000 〜 U+10FFFF を2進数にしろ 👤3byte 24bit U+10FFFFのみ解答とする Unicode 1‖⚪⚪⚪⚫ ⚪⚪⚪⚪ 2‖⚫⚫⚫⚫ ⚫⚫⚫⚫ 3‖⚫⚫⚫⚫ ⚫⚫⚫⚫ 🥳 ポクならサロなんちゃらは、設計は U+010000〜U+ 0FFFFFにするぅぅ UnicodeのサロのMaxのは、 1‖⚪⚪⚪⚪ ⚫⚫⚫⚫ 2‖⚫⚫⚫⚫ ⚫⚫⚫⚫ 3‖⚫⚫⚫⚫ ⚫⚫⚫⚫ てかU+10FFFFってどんな文字なの❓ 🤡レビュー中止。てか カテゴリー4のUTF8toUNICODE のプログラミング設計にとりかかれ >>707 テスター🥳の疑問 、地球のネットのAIで検索してみた。スゲーー長文だが、U+10FFFFについてAIで検索すると チョー適当にまとめると以下の通りかも 「天使の力」「大いなる創造の力」「愛の力」と呼ばれているそうです。 いずれにしても、『』という文字には謎めいた魅力があり、人々の興味を引きつけることは間違いありません。 との、ご回答だ by 👤 地球人の仕様ナゾ 誤回答なの? by 🥳なんか面白い 👤Unicodeは、とにかく4てか3byteトスル Unicode on サロゲートペア 1‖⚪⚪⚪🔵 🔵🔵🟤🟤 2‖🟤🟤🟤🟤 🟣🟣🟣🟣 3‖🟣🟣🟢🟢 🟢🟢🟢🟢 トスル 🤡すると、UTF-8は? 👤地球の書を解読すると UTF-8 on サロゲートペア 1U⚫⚫⚫⚫ ⚪🔵🔵🔵 2U⚫⚪🟤🟤 🟤🟤🟤🟤 3U⚫⚪🟣🟣 🟣🟣🟣🟣 4U⚫⚪🟢🟢 🟢🟢🟢🟢 と解読できた。 なお、地球人は⚫は1、そして、 ⚪は0という文字を使用するようぢゃ 🤡サロゲートてかカテゴリ4専用の UTF8toUNICODE をすぐプログラ厶しろ 🥳カテゴリー4かの判定は、 F0〜F8 ⇒ 4 だから、2進数に翻訳で 1U⚫⚫⚫⚫ ⚪⚪⚪⚪ 〜 1U⚫⚫⚫⚫ ⚫⚪⚪⚪ >> の 1U⚫⚫⚫⚫ ⚪🔵🔵🔵は、 条件の十分条件ぽぃぞ。 🤡 十分条件って何❓ 🥳 それだけで、バッチリ十分だぜ条件❢ 👤 ¯\(◉‿◉)/¯¯ 🤡サロゲートの専用の UTF8toUNICODE をすぐプログラ厶しろ 車輪の再発明どころか まわりが車輪を使ってる中で丸太を転がすことを見つけてドヤってるかのような 小学生がネットで調べたことを一生懸命自慢してるんじゃないだろうか? 爺の巣窟でそんなやついるかという疑問はあるが、小学校低学年の算数知識ならこんなもんだろう。高学年だと恥ずかしくて外歩けないレベルだし。 【カテゴリ4専用・多分OK】 セル★に「:=F0=A8=AA=B9」入力 注 先頭には「:」を入れる事 セル☆はMID(★,3,2) でそこは「F0」表示 セル□はMID(★,6,2) でそこは「A8」表示 セル○はMID(★,9,2) でそこは「AA」表示 セル△はMID(★,12,2) でそこは「B9」表示 セル🟦はHEX2DEC(☆)で240 となる セル🟫はHEX2DEC(□)で168 となる セル🟪はHEX2DEC(○)で170 となる セル🟩はHEX2DEC(△)で185 となる セル⭐は以下の超秘伝の数式でUNICODEにさせる ⭐=65536*(4*(🟦B-240)+INT((🟫-128)/16)) +256*(16*MOD((🟫-128),16)+INT(((🟪-128)/4))) +(64*MOD((🟪-128),4)+(G-128)) セル🌟はUNICHAR(⭐)で 「金先王」というか お絵描きの文字 表示された\(^o^)/ 超秘伝の数式だぜぇーーー by 👤 やっほーサロゲートともバッチリ 🥳一文字だけしかテストしてないぢゃん てか超秘伝の数式?アタマがヤバイぢゃん Look! A pair of boobs! -> (.Y.) 🥳ランベルト星人やるーーーねー ランベルト星人は、小学生の算数低学年でも 2進数とか計算とかバッチリぢゃーーーーん ランベルト星人の数学パワー偏差値は無限大はマジぢゃーーーん。 👤偏差値は、正規分布は、範囲は±∞だけど・‥… >>707 の👤さんの2進数って、わかりやすい。 てか、UTF8、UTF16、UTF32は今すぐ廃止 そして、UTF24を地球人の皆さーーーん。今すぐ開発しようよ。 なんでも3byte/文字でいいじゃーーーん。 U+🟢🟠は、UTF24は⚪🟢🟠 U+⚪🔴🟢🟠は、UTF24は🔴🟢🟠 ちなみに、⚪は2進数だと00000000 の定数 変換簡単。地球でも大人なら計算できると思う。 てか、UTF8とかUNICODEもっと仕様変えようよ。 そのたびに、スマホの連絡帳のcontact.vcfが 文字化けして、システム改修のお仕事が増えるから 景気バッチリになるよ。 てか、UTF24を開発しなさーーい 👤自慢する訳ぢゃないけどサロゲートに対応した 超秘伝の数式 ⭐=65536*(4*(🟦-240)+INT((🟫-128)/16))+256*(16*MOD((🟫-128),16)+INT(((🟪-128)/4))) +(64*MOD((🟪-128),4)+(🟩-128)) マジ、可也完璧 てか、オレッちのPCのEXCEL、どうにか サロゲートとかいう漢字、表示はされるけど MID関数が、怪しいのを発見 ま、この超秘伝の数式を検証テスト中に発見した ので、お絵描きしておく。 ちなみに、月へんに亀という文字を三文字 で、先頭の4文字を表示というロジックなのに 2文字しか表示しない。 ったく、地球人が変な規格を追加するから 滅茶苦茶ぢゃーーーん。 てか、サロゲートも、廃止しろーーーー てか、MID関数がサロゲート のせいでバグってるの❓ で絵文字はスキです∵カワイイ ∴絵文字をサロゲートにするのは反対 ∴絵文字は日本語の漢字を半分削り 日本語は絵文字だらけにしろー。 絵文字のMID関数でのバグもなくなりそうぢゃーーーん BY 🥳バカテスター 🤡 MID関数の第2パラメータ はサロゲートならば倍にすれば解決ぢゃん 👤 呆┐( ˘_˘)┌ これだから地球上は小学生未満の知能なのだ オレの霊感だとサロゲートは2文字と誤認識するからだ しかし、ある日予告なく、 🟥🟩 🟦🟨が 内部はunicodeは、UCS2やめて、 内部はUTF32とか、UCS4にしたら 「ユーザーがサロゲートならば倍」の修正ロジックは、巻き戻さないとヤバイ 🟥🟩 🟦🟨が、そこまでは、やらないだろ というか、UNICODEがUCS4に規格追加しても、それと同時に あの計算ソフトの内部はUTF32とか、UCS4になる訳ではあるまい。 🤡MID関数等の使用を禁ずる案件が増えて嬉しいです 🥳バグっていいぢゃーーーん。AKBてかHKBてか、何とか坂48 サイコー >>704 そのままじゃないだろ。 Unicode : 101101101010111 UTF8: 11100101 10101101 10010111 第一、2進数なんて可読性が低すぎる表記を使えるわけない。 >>703 UTF-8 は以下のように、先頭ニブル・4ビットで、1〜4バイト文字を判別している 1バイト文字: 0000〜0111: 0〜7 多バイト文字の2バイト目以降 1000〜1011: 8〜11(8〜B) 2バイト文字: 1100〜1101: 12〜13(C〜D) 3バイト文字: 1110: 14(E) 4バイト文字: 1111: 15(F) Unicode → UTF-8 1バイト文字(数字・アルファベット) U+0000 〜 U+007F 0xxx xxxx 2バイト文字(アラビア文字) U+0080 〜 U+07FF 110x xxxx 10xx xxxx 3バイト文字(ひらがな・漢字) U+0800 〜 U+FFFF 1110 xxxx 10xx xxxx 10xx xxxx 4バイト文字(難漢字) U+10000 〜 U+10FFFF 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx BOM = "\uFEFF" → EF BB BF 🤡:=プロマネ(の役) カテゴリーの最終案件は再検討∧後日 👤:=ランベルト星人(の役) どうして? 🤡以前納品したexcel関数で作ったのが サロゲート文字でバグることが判明 👤で、ま、それはオレが報告したけど 🤡MID関数で4バイト文字: 1111: 15(F)で バグから、MID関数使う全ての改修だ 👤サロゲートの文字使用禁止でいいぢゃん 🥳:=発達障害テスタ(の役) 絵文字使用禁止に反対。∴ MID関数使う全ての改修に、超賛成 ていうか、「👤」は難毒漢字なの?? 👤それは、サロゲート∧emojiかも 🥳で、全てのプログラムで MID関数は使用禁止、早くやろーーよ サロゲート文字列でバグるから、 >>722 で「MID関数使う全ての改修だ」 って、全て プロマネいってたぢゃーん。 🤡うっせいなーー、それは微妙に撤回 サロゲート文字列を引数とする MID関数の使用を禁止に、変更だ us-ASCii文字列を引数とする MID関数の使用は許可トスル そう MID(":=F0=A8=AA=B9",3,2) はOK 🥳 :=F0=A8=AA=B9はサロゲート文字ぢゃん 月亀 って感じの難毒漢字一文字ぢゃーん 🤡 なんてバカなんだ ascii13文字だ。 👤¯\(°_o)/¯ 地球人のcontact.vcf 化けるわけだ 721さんの地球の日本語 「多バイト文字の2バイト目以降 1000〜1011: 8〜11(8〜B)」 の解読に成功した。おそらく それが絶対に2byte or 3byte or 4byte のUTF8ならば、 2byte目 3byte目 4byte目 ─── ──── ──── 80〜EF na unknown ⇒ 2byte と判定せよ 80〜EF 80〜BF na ⇒ 3byte と判定せよ 80〜EF 80〜BF 80〜BF ⇒ 3byte と判定せよ 🥳 na とか unknown ってなに、バカなの❓ そんなの、書いてないぢゃーーーん。勝手に解釈いれるな 👤 ん、参照するなってか、参照したら付きの文字の先頭だし んーーー言葉に出来ん。 てか、プログラミングするときは、この辺りの設計は 重要だ 🤡難しく考えないでドンドン、プログラム製造しろーーー 🥳ドンドン、しろーーー 👤 あ、しまつた。タイプミスしまくってた 🥳 なんだよ。プログラムところがタイプライタからやり直せ 🤡 ま、プログラムでタイプミスしなきゃ、ヨシ、 🥳 タイプミスっても、シンタクスエラーなるしヨシ 👤 とにかく、サロゲートでの文字列のMID関数でバグる件の 修正は、目処たった 🥳 やるぢゃーーーーん。テキトーにやっればいいぢゃーーーん 🤡 とにかく、慎重且つ迅速にやれ 👤 ま、今日は、プログラムの修正に専念する。バイバイ 👤とにかく、MID関数はサロゲート未対応 に伴う、プログラム改修は完了した。 🤡ありがとう。そうだ 単独1byteには対応済 単独2byteには対応済 単独3byteには対応済 そして、その対応で、単独4byteも対応済 👤 単独? asciiとサロゲートが混在は? 🤡 それは、これからだ。 1〜4byte文字が混在混在混在の文字列の UTF8→UNICODE 変換のプログラムに 魔改造とする。その為に >>721 の一覧は重要だ。 👤 yes 🥳4つのロジックを継ぎ接ぎするだけ 超楽勝。∴小学生でも、超できるね 🤡 地球人の小学生には無理だろ 👤 yes みえた。裏の裏の裏まで霊感で見えた 1バイトなのに、1バイト目80〜FFは👻 2バイトで2バイト目80〜BF外 は👻 3バイトで2バイト目80〜BF外 は👻 3バイトで3バイト目80〜BF外 は👻 4バイトで2バイト目80〜BF外 は👻 4バイトで3バイト目80〜BF外 は👻 4バイトで4バイト目80〜BF外 は👻 と表示する by 👤透視によりUTF8仕様の裏まで読切る なお👻は「おばけ」を意味するemoji 性器表現使うようになってから midなんてもう使わなくなったわ 👤プログラム設計者が 2バイトで2バイト目80〜BF外 は👻を表示のロジックをどうするか 愉しみ 🤡単に👻を表示するだけだろ 👤ま、そうだが、2バイト文字なのか怪しいわけで、 次の文字は、2バイト先なのか、それとも、 次の文字は、1バイト作なのか、どっちでプログラム設計するかだ 🤡んー、2バイトとのはずなのに2バイトぢゃないか ま、文字化けasciiとみなし、次のは1バイト先だ。 なかなか、ランベルト、有能ぢゃーーん。 地球人の既存のロジックでそこまで気づくのは皆無だな 👤それなりに地球人でもいるだろ。半分位 🥳 ランベルトとプロマネ、プログラム設計のハナシしてるな てか、変なUTF8コードだと、「👻」を表示するってこと❓ 👤モチロン、宇宙初の超バッチリロジック 文字化けは、絵文字「👻」で表示。これが 我が宇宙のスタンダードだ。だっちゅーーーの 🤡多分、地球初てか、世界発かな。てかま、 絵文字をUNICODEがサポートした時点で、変なやつが 文字化けの文字を「👻」にする奴は665人ぐらいいるな 世界で666番目だと憶測する。 🥳面白いけど、二人とも頭オカシイです。 PRINTABLE:=xx=xx=xx=xx=xx=xx なんて感じのやつは、1バイト先はその3倍右だな by 🤡呟き UnicodeでU+7F,U+FFFFは制御文字なのにU+FFは制御文字じゃないんだね 8bitの上限という意味があるコードポイントなのに制御文字として割り当てられなかったのが意外 >>732 7Fが制御文字DELに割り当てられたのは当時は紙テープに穿孔していたから。 Unicodeの策定時には8ビットの上限FFを特別扱いする意味は既になくなっていた。 >>721 のルールに基いて、以下の3つの10進数のバイト列を、 先頭(1バイト目)からチェックしていく時、 最初にルール違反となるのは、何バイト目か? 129 130 120 169 240 159 146 206 184 つまり、ルール違反はエンコードエラーになる。 一般的にはルール違反の文字を除去して、処理を続けるべきではない 🥳721というか735 楽しい その9byteは、ポクのメモ帳は、ANSI左下に表示。してるのに文字が化けてる 🤡 無理やりなら、現ツール UTF8tUNICODE し、 それをキャラクター表示し さらに手作業でおこなった結果は、 👻👻x👻👻👻👻Ϙ である 👻👻x👻👻👻👻 のそれぞれを ascii 1byteとみなし、3byte目のみ 化けずにxと表示 最後の2byteは、 UTF8の2バイト文字と判定 「♀」に似た字体U+03D8 Ϙは、古代ギリシャの文字コッパ 👤解読率 約2割、ダメだな。そのツール 🤡てか、オマエが設計中のだ。 🤡メモ帳のANSI表示は右下に表示だろ 🥳テヘペロ、右と左は知ってる。タイプミスっただけ 🤡 UTF-8にはサロゲートペアはないぜ 👤 んーー「😊」とかそして「👤」は UTF-8では、4BYTEだろ 🤡 地球ではネットサーフィンで見たら UTF-8にサロゲートペアはありません 👤 でも、「😊」とかそして「👤」は UTF-8変換できるぞ 🥳 そうだ、てか、日本語を半分にして 空いた3byteに「🥳🤡👤」 を割当てろ 👤 んー珠にはいいこというね モピロン、ランベルト星では、 フォントに👤というフォントがあって 日本語等の漢字は全て絵文字に化ける なんてねーーーー 🥳 ひらがななら幼稚園児でも知ってるよ 漢字は幼稚園児なら知らないから、 ランベルト星人のような幼稚園児に バッチリな、フォントだね。 👤 おそらくまだ、地球にはこのフォント は無いと思う。 でも、フォントによっては 白黒ではあるが絵文字だらけのも 見覚えある 🤡 ちゃーんと国語と漢字の勉強しなさーーい by 😅チョー低レベル 失礼しましたーーー 👤 >>736 の、🤡よ、 オマエは、半手作業「👻👻x👻👻👻👻Ϙ」なんてホザいてるが オレの秘伝の数式での手作業では、 「👻👻x👻👻👻👻θ」だっ ❌ 最後の2byteは、「♀」に似た字体U+03D8 ⭕ 最後の2byteは、「θ」であり、 U+03B8 んー0x20ズレてるな。 ランベルト星の秘伝の数式 >>697 に記載のだが ⭐=64*(🟦-192)+(🟫-128) バッチリだ。 ※UTF8で2byte専用で、絶対にUTF8で2BYTEの文字コードであること ま、不正なコードなら👻が沢山でるが、 とにかく、最後のそれは、θ、θ、θのようだ。 🥳てか、UTF8の2byteのに ンゴ文字ってのがあってさ U+07F7なんだけど、これが先頭文字だと EXCELのセルに貼り付けると、文字の順番が右から左に逆になりやすい てか、U+07F7の字体。カワイイです。てかンゴ文字が 文字化けしても、わからないと思います。 てか、U+07F6は、字体は、2と9が合体してる 🤡はい。てか、無意味なことかくなーーー 👤下記のお絵描き UTF-8 on 4byte 1U⚫⚫⚫⚫ ⚪🔵🔵🔵 2U⚫⚪🟤🟤 🟤🟤🟤🟤 3U⚫⚪🟣🟣 🟣🟣🟣🟣 4U⚫⚪🟢🟢 🟢🟢🟢🟢 から 以下のプログラミング設計した オレッて天才❓ elseif F0≦🟦≦F8 THEN if 80h≦🟫≦BF and 80h≦🟪≦BF and 80h≦🟩≦BF then then '4byte ⭐=65536*(4*(🟦-240) +INT((🟫-128)/16)) +256*(16*MOD((🟫-128),16) +INT(((🟪-128)/4))) +(64*MOD((🟪-128),4) +(🟩-128)) UNICHAR(⭐)を表示 n=n+4 🤡 ビット積を使わずunicode化かよ ま、地球人から賛否両論てか、地球人にソースレビュー させたら非難の嵐だせ。 👤 ゲラゲラ 地球人が間抜けかどうかわかるな 🤡 ナンデ 👤 ま、プログラミング設計と、文字コード設計、そして その裏の裏まで透視できてくるとわかる、 てか、elseif F0≦🟦≦F8 THENは 暫定的だ。F0≦🟦≦F6辺りにするかな wwww てか、さ、u+10FFFF〜u+1FFFFFには 正当なコードはいくつあると思う 🤡最大のそれは、u+10FFFF だから 簡単だな。1より大きい くは、・・・ 👤ちなみに、UNICHAR(⭐)は、excel関数の意だが ⭐がデカイとエラーとなる ま、u+FFFFでも、その10倍てかF倍より1つ小さい 付近までならokだ。 🤡おれっちのテスト用マシンのexcel windowsは10にupすみだが excelは7の頃のだ unichar関数なんて無いかもしれない 👤んーーーー、その頃は未だutf8はなかったのか 🤡そこそこ国内に浸透してた記憶はある 🥳てかさ、16面のunicodeって何個あるの❓ 👤🤡 夜も老けた。そろそろお休みーーーー 🥳お休みーーーー 👤文字コードで0x00の処理に、ミスは、あった ま、0x00はモチロンasciiコードだが、 話すと長くなるが、文字化けで0x00となっても👻を表示するのは 困難と判断す。ていうか、0x00は文字でない文字だ∵文字の終端だっけか C言語ではそうたよな❓、 🤡入力にバグデータが含まれる文字列は、 出力のその位置には👻は出力して欲しいが、 単なる要望だ。0x00は難しいそうだな。 🥳なんでーーー。カンタンだよな。 🤡👤おそらく、高難易度かもしれん。 🤡 あっそうだ。0x31 0x32 0x33 0x00 0x35 というファイルをバイナリエディタで作成とする 🥳 で 🤡 メモ帳で開く、ANSIでもUTF8でもキニシナイ 🥳 そりゃ、全部ASCiiだからモチロン文字化けない。 で、「123」 と表示かな 「123 123」かもね 🤡 ま、後者となった覚えがある 🥳 なんだよーー、聞くな。知ってるぢゃーーん 🤡 で、特には編集はしないが、上書き保存する ・・・ 続きは別途 🤡🥳 あっいけね、「123 5」という表示だ 🤡 でさ、メモ帳で編集せず上書き保存してさ、 そのファイルをバイナリエディタで開くと どうなるか、予想してみろ 🥳 0x31 0x32 0x33 0x00 0x35 のまま∵編集してない 🤡 0x31 0x32 0x33 0x20 0x35 だ。 0x00は、0x20に変化した。spaceに変化だ 👤 ┐(´ー`)┌ てか文字列の途中の0x00は0x20に変更 するようにさせるか、そのままでよいかだな 🥳スペースが見えたら病気ですよーーー0x00ってスペース❓ 👤¯\(°_o)/¯ 🤡でさ、文字列の途中に0x00あると、魔改造したツールどうなる? 👤想定外だったが、いつの間にか、0x00を無視するロジックを組み込んでた プログラミング設計書からコードに手作業でコーディングするわけだが その時、そのロジックは組み込んでた。ま、コーディング中は頭がいっぱいで 記憶にはないがな。 🤡有能なヤツは、設計書の本質まで考えてコーディングするから いろいろた。設計書にそこまで盛り込むとソースコードの方が見易くなるという 罠にはまる。てか、現状の動作を仕様とする。 👤変更不要という意味か❓ 🤡モピロンだ。 👤ok 🥳0x00を表示するようにしろーーバグぢゃなーーい 👤🤡 ま、見えないものは表示しないのでこれでよいのだーー 🥳これでよいのだーーに賛成 >>707 ズバシーレビュー。オウマイゴッドって感じ ていうか、地球人はそれは、21bit U+10000 〜 U+10FFFF は21bitなんて説を書き込でるサイトが 散見される。この707のお絵描きをみれば、 ホントは、20bit+1文字、が超超正解ぢゃーーーん by 🥳 んーー、サイトによっては、約20bit と記載してる。 敢えて、「約」を入れてる。有効数字を鑑みて 20±0.5bitと意訳できる by 👤 単なる忖度だ ゲラゲラ by 🤡 さすが、地球人のプロマネらしいホントにホントな話しぽぃぢゃーーーん by 🥳幼稚園児よりマシか CHAR(🟦)を表示でもよいし、 ⭐=🟦、UNICHAR(⭐)を表示でもヨシ だって、Unicodeもutf8もasciiも全部同じ by 🥳 値が128未満なら、値的にはそうだ。 格納のバイト数は、異なるかも by 🤡 0x00等は、値は、128未満 ∵0<128 しかしアプリや言語により動作はことなる by 👤 0x7Fをデスプレーで表示で🕳が開くようしろー 完全なる互換性を継承しろーーー デスプレーが壊れてもヨシ(๑•̀ㅂ•́)و✧ by 🥳バカテスター >>732 別に制御文字がコード上限とかを表す意味ではないから C0やC1がなぜ存在するのか、もう昔話なんだなあ UTF-8 on 4byte 1U⚫⚫⚫⚫ ⚪🔵🔵🔵 2U⚫⚪🟤🟤 🟤🟤🟤🟤 3U⚫⚪🟣🟣 🟣🟣🟣🟣 4U⚫⚪🟢🟢 🟢🟢🟢🟢 ⚫⚪以外は、マルの個数は21個だな そ、UTF8は2の21乗つまり、21bitだ unicodeは2の約20乗だ。utf8の方が約2倍 文字が多い。 なんてワケはない。そこが、とにかく、なんやかんやで、ややこしい UTF8→UNICODEの変換で半分重複する。 なんて、ことはない。ように変換プラグラムを やるのは、結構面倒な予感 てか、もう完成はしたけど、何か後味は悪い BY 🤡 👤気にするな。結構完璧だ 🥳気にするな。動けばいいぢゃーーーん スマホの連絡帳の氏名に、 UTF8なら2,3,4byte文字混在 「サインΘ👻だよ 👤🤡🥳」をタイプ それをcontacts.vcfでexport 自作ツールで 文字化けてかpritable以降の 文字列(asciiだけどutf8)を、地球人でも 解るようエンコードした。 ま、excelということもあってwindows上のためか、絵文字が白黒でデザインがしょぼい が、とにかく、ツールバッチリ 超秘伝だか、超々秘伝の数式だか、あれバッチリ ちなみに、👻もそれを電話帳(連絡帳)に入力もしたが、バッチリ表示。完璧だぜ。 by 🤡 絵文字が白黒? いまひとつぢゃーーーん by 🥳 てかさ、windowsのメモ帳ってカラー表示は無理 by 👤 メモ帳、ちゃんとなおせーーーー by 🥳バカなクレーマー ま、「サインΘ👻だよ 👤🤡🥳」をexcelに貼り付けると 絵文字は白黒だが、それぞれの文字に任意の色をつけれる。 一文字には、任意の1色だけだが、画像でないのだから、 何か、いい感じ。てか、👤のデザインがイマイチだな。 なんか、カワイイ感じになってる。👤はやはり、ブラック感のある ワルーーーって感じなんだけど てか、イタリックやると、👤🥳🤡もイタリック体になる これは、ナカナカよし。 🟦🟦 🟦🟦 なかなかやるなーーーー てかマイクロソフトのロゴって 青い四角四つにいつの間にか化学変換してるな。気が付かなかった 👤今回のツール、いろいろテストで不具合発見した ナカナカ、手間取ったが、デバッグ取り敢えず完了 ぢゃーひと休みいれるかな。 ちなみに、それは、最後の文字が「=」で継続行だ 最後の文字とは改行コードの一つ手前との意味 それに伴う改修だ。vcfにもちゃんとした規格があり それに忠実にやってるんだな。疲れたぜ 🥳意味がさっぱりわかんないから、ok 👤 ワタシは宇宙人。で、「=」はナゾなる制御コードだ 🤡 自称宇宙人、頭大丈夫か? 🥳 ランベルトさん、デバッグしすぎで、頭バグっちゃったーーー 👤 安心しろ。「=」は、その直後に改行でも継続と解釈という意味だ RFC何とかという、地球のルール。それは宇宙のスタンダードだ 🤡 ん、てかさ、「=」は、EXCELでは、それが先頭なら、関数 として解釈しろ。という制御コードぢゃねえーーー? 👤 あ、思い出した。vcfファイルの中身から、コピペして、 excelのセルへコピペする。トスル 🤡 すると、先頭が「=E0=80=BF」などは、文字列でなく、関数とみなす 👤 そ、あの秘伝のツールは、ホントはon EXCEL って感じ 🤡 入力のセルは文字列って指定しろ。初期設定の標準ではダメ 👤 デバッグ中に気が付き、修正は済んだ。標準でなく文字列とした 🥳 標準なんての従うからバグちゃったのーーー。スタンダード嫌いです スタンダード反対。宇宙やるーーーー 🤡 てか、だからヤツは宇宙人なんだぞ ® ヘーイ、ワタシはRFC宇宙人 宇宙標準てか地球の規格 RFCを貼るぞ CRLF sequence (U+000D followed by U+000A). Long logical lines of text can be split into a multiple-physical-line representation using the following folding technique. Content lines SHOULD be folded to a maximum width of 75 octets 👤 75文字までなら改行不要で76文字で改行しろって規格❓ ® そうだけど、ちがうもんねーーーー 👤 漢字10文字程度、改行しまくりだ。こらS⚪nyのスマホの vcfのエクスポートするの、ヘンぢゃねーーー ® ソニーさんのは、我がスタンダードRFC通りを守ってるぽぃ 👤 んーー、漢字10文字は、UTF8のPRINTABLEにデコードてか エンコードすると何文字だ。プロマネ計算しろ 🤡 3BYTE/日本語 で、さらに、PRINTABLEだから、 えーと、一文字は、「=E0=80=BF」って感じの9octed/日本語 多分、®の75 octetsがマックスは75/9だから 漢字八文字超えたら改行しろ。ぢゃない。 ソニーさん教えて下さい。 🥳 単にアンドロイドのツールをパクらせただけだろ グ⚪グルさんが詳しいんぢゃない。 てか、あのツールはデバッグ済んだし キニシナイ 👤そうだな。てか地球の、ルールめんどくせー RFCの規格、改行は、暗に、 CRLF sequence を前提に規格書を策定してるのか? RFCってマイク🟦ソフトなのな? BY 🤡 プログラム、の憶測って、ウガリすぎーープロマネ🧠バグってるーー BY 🥳 有能なプロマネともなると、規格のウラのウラまで読み切る事も大切 BY 🤡 地球人に産まれて来なくて良かったぜーー BY👤 あ、自称宇宙人のランベルト宇宙人、バグった言い訳してるーー BY 🥳 プログラミング設計 n文字目の先頭🟦とおく※暗に🟦は有 その次のを🟫とおく※無なら0x00が無難 さらに次を🟪とおく※ 〃 その次のを🟩とおく※ 〃 n=1 '先頭をゼロとするなら要改 Repeat until 🟦=0 if 🟦<128 then 'ascii ⭐=🟦 UNICHAR(⭐)を表示 n=n+1 elseif 🟦<192then 'なんちゃってascii 「👻」を表示 n=n+1 elseif 🟦<224 then '2byte if 128≦🟫≦191 then ⭐=64*(🟦-192)+(🟫-128) UNICHAR(⭐)を表示 n=n+2 else 「👻」を表示 n=n+1 ' ∵1byte文字トミナス end if elseif 🟦<240 then '3byte if 128≦🟫≦191 and 128≦🟪≦191 then then ' ⭐ =256*(16*(🟦-224) +INT((🟫-128)/4)) +64*(MOD((🟫-128),4)) +(🟪-128) UNICHAR(⭐)を表示 n=n+3 else 「👻」を表示 n=n+1 ' ∵1byte文字トミナス end if elseif 🟦<248 THEN if 128≦🟫≦191 and 128≦🟪≦191 and 128≦🟩≦191 then then '4byte ⭐=65536*(4*(🟦-240) +INT((🟫-128)/16)) +256*(16*MOD((🟫-128),16) +INT(((🟪-128)/4))) +(64*MOD((🟪-128),4) +(🟩-128)) UNICHAR(⭐)を表示 n=n+4 else 「👻」を表示 n=n+1 ' ∵1byte文字トミナス end if else '5,6byte 「👻」を表示 n=n+1 ' ∵1byte文字トミナス end if end repeat msgbox"やったね∵処理完了\(^o^)/" こらーーー if 🟦<128 then 'ascii は、 if 0=🟦 then 'null '何もしない elseif 0<🟦<128 then 'ascii ぢゃなーーーーい てか先頭=は関数とみなすです。∵excel 継続から最後に=ですよ。 で最後は改行CrLf ですよ∵RFC2045? BY 🤡 意味わかんない けどスゴくてヤバイ BY 🥳 ❌ if 🟦<128 then 'ascii 🙆 if 0=🟦 then 'null2space ⭐=32 unichar(⭐) n=n+1 elseif 0<🟦<128 then 'ascii ∴ Me is MemoPadMan.✌ ∴ Me is All ®ight. ∵Me is 💯 🤡🥳👤®一同 boo boo voo boo booooooooooo. if 0=🟦 ってけしからんコードだ 変数は左、定数は右、これが社会人の定式デス ∴ if 🟦 = 0 と記述しなさーーい by 🤡プロマネの役 定数が左。変数は右。地球人にはアリエナイ 極一部の古代ギリシャ文字とかンゴ文字は知らんけど 定数が左。変数は右 代入演算子ではナイ と 地球人でも解る記述だ。モピロン、素晴らしい by 👤ランベルト星人 🟦=0 でも 0=🟦でも、論理式なら どっちも真偽値は同じ。 ポクはモピロン天才数学者より天才だ by 🥳発達障害テスタ ☕ポクはサンマイ🟤🟤システ🟤のジャバ星人だ。宜しくね。 >>757 のソースコードもどき。地球人らしいコードですね。 ⭐=64*(🟦-192)+(🟫-128) ∧ ⭐=0を満たす整数解 1つでよいので、解いてみろーーー by ☕ポクはJAVA星人 何か、宇宙人。自称だろうけど、沢山やってきた。 なんか、ヤバイ。地球が征服されちゃうの❓ はやく、宇宙人に征服してほしいです。地球のオトコに呆きたところよUFO by 🥳 ピンクレディーのUFOのその歌詞は、 ❌ 地球の男に飽きたところよ ⭕ 地球の男に呆きたところよ なんちゃってーーーーーー BY 🤡 今日はエイプリルフールぢゃなかった。失言しちゃった 👤 誰だ。ジャバ星人か何か知らんが、お前は絵文字一文字で☕ でよい。www ゲラゲラ てかプロマネ、地球を防衛したなら プロマネが解けよ。てかオレは瞬時に解ったけど 🤡 プロマネってポクのことかな。地球人をバカにするなーー ていうか ⭐=64*(🟦-192)+(🟫-128) ∧ ⭐=0を満たす整数解 1つでよいなら厨房でも、解けるぜ、こらテスター解けよ オレッちの解っちゃった。1つなら楽勝 てか、🟦は192(0xC0)を代入して、あとは、匕・ミ・ッ 🥳 数学大好き。てかランベルト星人とかプロマネ 解けないからポクに聞いてるんだな。 無理しやがって、教えて、アゲルと、 数式 ⭐=64*(🟦-192)+(🟫-128) ───1⃣ 1⃣の🟦に192を代入 ─── 2⃣ 1⃣の⭐に0を代入とする。すると、 1⃣は、0=64✕(192-192)+(🟫-128) ───1⃣💨 1⃣💨をfor🟫やると、 🟫=128 ───3⃣ 以上1⃣3⃣より、求めるべき整数解の一つは、 (🟦、🟫)=(192、128) ヤッターー 解けたーーー\(^o^)/ 👤 んで、それでどうしたのかな ☕ 地球人って・・・ 👤 オレは地球人基準で数学パワーが∞ ☕ そりゃ地球人が無限人でも宇宙人から見れば 数学パワーはマイナス無限大だし当然だろ 🥳 よくわかんないけど、地球人を侵略してくれて ホントうにありがとう ランベルトは、 ⭐=64*(🟦-192)+(🟫-128)=0 の解の一つ (🟦、🟫)=(192、128)を解いたな 数式⭐が、ビット演算に変えても (🟦、🟫)=(192、128)なら⭐はゼロになりそうだ by 🤡地球人代表 自称プロマネ(の役) elseif 🟦<224 then '2byte if 128≦🟫≦191 then ⭐=64*(🟦-192)+(🟫-128) UNICHAR(⭐)を表示 n=n+2 で、当ロジックは🟦≧192のときに実行される。 故に実質 if 192≦🟦<224 then '2byte if 128≦🟫≦191 then ⭐=64*(🟦-192)+(🟫-128) UNICHAR(⭐)を表示 n=n+2 と同じだ。さてと、一人でソースレビューするか by 👤 地球人ぢゃナイオレも参加させろ。そのレビュー by ☕ジャバ星人 CSVやTSVでセル内改行ができない問題は 行の区切りを改行文字ではなくRSやVTにすれば解決しそうだがその方法で問題あるだろうか そういえば、エクセルの、ある一つ、一つの、ひとつの、 セル内で文字列[xxxxyyyy]を改行は、 オペレーション的には xxxx [ALT]+[改行] yyyy だったような。 地球の書によると、Lf(ASCIIコード10 スナワチ0x0a)だ。 CSVでセル内改行不能問題は、知らん。失礼m(_ _)m ちな、ンゴ文字をセル内に入れる、文字の表示方向が 逆になったりする事が、よくある。 それは、バグでなく仕様の可能性、かと憶測する。 なお、数字を入れると、右詰めになり、 先頭が=だと関数とみなされることは、多い、 文字化けの要因のひとつ。該当セルを標準でなく文字列に 設定するのもひとつの手段、かな?。 試行錯誤して作成してる、😅 👤 PRINTABLE:=C0=80 で👻と表示、ヤバ。バグなのか? ☕ ま、いいんぢゃなーーい 🤡 SONYさんのスマホのCNTACTS.VCFはヌル文字なんて入力不可 また、半角数字は123なら =31=32=33 と出力だ 2バイトには変換しないので、 そんな不正なコードは出力しませんよーーー だから、ASCiiは、=C0=B8 なんて出力しません ☕ レビューやーめたーーーー ある文字が、UTF8で絶対に絶対に絶対に2BYTE文字の場合、 その下限てか上限は、=C2=80 だ てか、UTF8で0xC280はなんて文字なんだろうか 🤡知らん。けど、変な文字だろ 電話帳にそんなコードは入力しないからどうでもよいので 🥳ポクのスマホの連絡帳てか電話帳の氏名に 絵文字入れても、バッチリ。ツールバッチリ 絵文字とASCII文字だけバッチリなら 他の文字は使用しないから、ツール問題なし てか、絵文字以外かつASCii以外の文字の 入力を禁止しろーーーー 漢字は入力禁止 🤡ちゃんと日本語も難読もSONYさんのcontacts.vcfは RCF2045守ってるのでバッチリ 👤てか、守らなくても、ワリとヘッチャラだよな 🥳絵文字バッチリだから、ヘッチャラ ランベルトとかいう、宇宙人の落ちこぼれが UTF8 C280 つまりU+0080がどんな文字が 疑問に思ってるようだ。 どうやら、極めて怪しい制御コードのような 霊感を感じる。それのお絵描きしておく BY ☕ジャバ星人でしたーーーー xxx ❓❓❓ PAD だろ xxxはとPADとは全く違う by 👤 xxxは未知だから、PADとかいのでもいいんぢゃない by 🤡 xとPは違う文字である。この2人目がヤバイ by 🥳 🥳 それは、Padding Character というヤツ モチロン、非表示の文字らしいです。 だから、Spaceで、表示すべきです。 xxx とか PAD と表示してるサイトが 多々見受けられる。バグですね。ーー BY 🥳発達障害が更に悪化中 ちぇっ、👻表示させたかな。by 👤 そんな文字はスマホに入力できないので、 そんな文字をデコードしたのはcontacts.vcfに存在しないので リリース済のは、修正しませーーーん by 🤡 え、リリース済❓👤 デヘヘ🤡 オレッちがソースレビューさせれば、以下のようにするのになあ elseif 🟦<192then 'なんちゃってascii 「👻」を表示 n=n+1 elseif 🟦<224 then '2byte は、 elseif 🟦<192then 'なんちゃってascii 「👻」を表示 n=n+1 elseif 🟦<194then 'なんちゃって2byte 「👻」を表示 n=n+1で容認、n=n+2が理想 elseif 🟦<224 then '2byte by ☕ポクはJAVA星人 緊急PGメンテかよ。ま、 elseif 🟦<192then 'なんちゃってascii 「👻」を表示 n=n+1 elseif 🟦<224 then '2byte は、 elseif 🟦<194then 'なんちゃってUTF8 「👻」を表示 n=n+1 elseif 🟦<224 then '2byte で再リリースを検討する。ま、理想は☕星人の通りだが インパクトがわからん。 てかさ、なんちゃってUTF8なんてS⭕NYのCONTACTS.VCFに 出力はされないから、ね。 BY 👤 モピロン、再リリースは何時でもOK BY 🤡 バグっていいぢゃーーん BY 🥳 🤡 PGバグでも運用上はバグぢゃないもんねーーー >>777 の緊急PG修正ってコメント除けば 一文字修正するだけぢゃーーーん ❌ elseif 🟦<192then 'なんちゃってascii ⭕ elseif 🟦<194then 'なんちゃってUTF8 192を194にするだけ。1秒で修正するぢゃーーーん プロマネとか自称宇宙人ってバカなの❓ BY 🥳超バカテスターに成りすましてみたー 👤再リリース完了 🤡Good job ☕ま、やらかすと思ったわ 👤UTF8では、最初の1バイト目が1100 が2byte なんて地球の書に釣られた ☕そっか、かつてのオレを思い出した 👤んー❓ ☕2BYTE⇒1100 xxxx xxxx xxxx は真か偽だな。 👤地球人には無理だろ。偏差値パワーが有限だからな地球人は ☕オレはかつて地球人だった。オマエも地球人に格下げ寸前だったな 🤡C0 00 〜 C0 7F は、UTF8 ではなんちゃって2BYTEって 地球の書に記載した方がいいか? 👤☕ それは正解だが、反例らしき忖度に満ちた地球の書に 記載しても、何だな。そもそも、地球人は🐴🦌だ。 🥳ちぇ、地球人をバカしたバッドエンディングなの❓ この文学作品したヒトってバカっかぢゃなーーーい 😅AUAUアウアウ >>779 ❌C0 00 〜 C0 7F は、UTF8 ではなんちゃって2BYTE ⭕C0 00 〜 C2 7F は、UTF8 ではなんちゃって2BYTE だった。他にもたくさん、ミスってそう。( ・ั﹏・ั) 👤プロマネよ。あのさ、ナンデ、UTF8文字列→UNICODE文字列 なんてプログラミングをオレにさせたんだ? 🤡それがさ、6年前の春は、その当時で古いスマホの電話帳 を、その当時で新しいスマホに、vcfファイル経由でコピーしたことに遡る。 👤6年前時点の古いスマホなら、android4.x新しいのなら、android8頃か 🤡んー、多分yes 🥳バージョンが古いから、vcfファイルも、モピロン、文字化けだよね。 🤡いや、vcfを当時のパソコンで開くとちゃんと氏名等の漢字は読める。平文だ その頃はwin8.1のヤツを使用してた。 👤vcfは漢字も平文で読めたのか 🤡yes その当時は。 👤でutf8→unicodeと関係あるんだ 🤡その当時は関係はなし、で、 そして、機種変更した。2年前だ。 ・・・・ 👤vcfが2年前の機種のときに文字化けか 🤡文字化けと思ったが、デコードだな 1文字漢字がascii9文字に化学変化、後はわかるだろ 🥳グーグルので共有でいいぢゃーーーん。 個人情報はグ⚪グルのサーバに保管だね 🤡でも、とにかくPRINTABLE: のをエンコツール自作に至ったわけ >>768 >CSVやTSVで、セル内改行ができない問題は Ruby ではクォート文字で囲めば、 行区切り文字・列区切り文字・クォート文字も、データ内に入れられる require 'csv' input = <<"EOT" "a""a","b,b",あ "c c","d\nd" EOT p input_ary = CSV.parse( input ) # 2次元配列 #=> [ ["a\"a", "b,b", "あ"], ["c\nc", "d\nd"] ] # 2次元配列を、CSV 文字列に変換する csv_str = input_ary.map( &:to_csv ).join puts csv_str "a""a","b,b",あ "c c","d d" ん、微妙に話しズレるが、新たなるプロジェクト思いついた ・VBAでcontacts.csvをバイナリで読み込ませる ・CR LF などそれが2バイトでも全てLF1byteに変換する ・それをセルの んー例えばC3セルに表示 ・C3セルの一つだけのセルに、contacts.vcfが表示される ・とにかく、vcfのエンコードツールをvbaで開発する by 🤡 それより、プロマネ、プリンタかってーーー ネットプリントめんどくせー by 🥳👤 プロジェクトは延期ーー 🤡 ☕ 2BYTE⇒1100 xxxx xxxx xxxx の最小値って地球人よ知ってるか❓ 16進で、xC000 だぜ。もし、xC280にしたいならさ、 それを簡易に表現できるパワーが必要だろ。 やたら、言い訳した内容を補足に入れてもよ。 そんなの、理解できねーーーってワケ by ☕ でさ、なんで自称宇宙人のチミはジャバ星人って自称してるの by 👤ランベルト星人 んーーー by☕ ま、ウスウス知ってるけど、JAVAってIBMが開発した言語❓ それとも ・・マイクロソフト ❓ BY 👤 マイクロソフトもIBMもライバルだ ぢゃーバイバイ BY ☕ ジャバ星人(サンマイクロシステ⚪星人)と、ランベルト星人の やり取り、意味深だな。 てかさ、ISO/IEC 10646 [ISO.10646] に UTF8toUNICODE の極めて具体的なアルゴリズムが 英文で記載されてる。 モピロン、ランベルト星人やジャバ星人が開発したのは その通りに作ってるハズだろ。 地球人の規格か概ね上位互換だ てかそれキニシナイ BY 👤 今の規格でも何か怪しい てかもぅゴリゴリだせを BY ☕ あのさ、ジャバ星人は地球からスピンアウトしたら BY 初登場のミラクル星人 オラ、いや、ミラクル星人にはナイショだけどよ、 ランベルトとかいう宇宙人の、自称秘伝の数式 ⭐=64*(🟦-192)+(🟫-128) ※UTF8で2byte専用 で⭐が127以下になる全ての🟦、🟫の非負整数解って ま、地球人でも厨房程度の低知能で解けるだろ。 見え貼ってビット積とか使って規格書記載してるから 数式の連立方程式すら失念し、重複するだってワケ 地球人って、地球🌏の中ぢゃ、知能はマシだが、 この宇宙の中ぢゃ、もう恥ずかしくて、宇宙旅行なんて出来ないだろ by ☕ てか、あの規格書、あれが21bitとか記載してるぞ、 20bit + 1文字だよな。地球人ってバカなのか? by 👤 いやいや、地球の数学では、 2^21 = 2^20 + 1なんぢゃねーーー ゲラゲラ by ☕ 矛盾許容の数学を構築したランベルト星の数学ですら アリエネー。てか、isoなんとかってジョークサイトだよな by 👤 ゲラゲラゲラゲラゲラゲラ論理積以前だろスピンアウト正解 by ☕ >>783 でさ、 🤡 > CR LF などが2バイトも全てLF1byteに変換 の記述って、🦩ダチョウ (無駄に長いの意)な表現だよな 👤地球人は知能はバカの一つ覚え。無限個ある欠陥だらけの 文章の、2、3点を修正して、今度は完璧だなんて思い込む 🤡てか、「あのCrLfをLfにする」の何処がダチョウな表現なんだ❓ 👤正解は「Crを無視する」だろ 🤡オマエも地球人並みの知能だな。無限大の知能ってウソぢゃーーん 👤そもそも、Cr単独で改行なんてのは、アリエナイ前提だ モチロン、Lf単独で改行は、Unixとか比較的近年UTF8で 地球で、主流だろ 🤡んー❓ 厳密すればするぼど、やはりダチョウ🦩になる 👤ところで、ゲーデルの不完全性定理ってどう思う 🤡あの辺りは数学ではナゾの密林だ。てか 証明できん事を証明しましたーーー。をアリガタッてるのか 👤知らんが、あの規格書も、6〜7年前から更新ストップだろ 🤡更新すればする程、矛盾にみちた内容になってるかも 👤もはや、矛盾してるかすら解かんないとちゃう? 🤡ノーコメントとする。てかランベルトよ、 「Crを無視する」というロジックは、1行目で真かつ k行目で真と仮定してk+1行目が真を証明が必要だ 👤てかよ、kは整数かつ1以上が必要だろ 🤡どちらかというと十分で微かにダチョウだよ 👤んーー、kは整数かつ2以上が必要 といえば十分か 🤡話しが長いな。てかゲーデル不完全性定理と関係ありそ 👤それ以前に我が星、ランベルト星の数学・論理学は矛盾許容だ 🤡それ、完全性定理ぢゃねーーー? 👤どっちでもok ∵矛盾許容 🥳ポクも宇宙人に産まれ変わりたいデーース VTも使うTSV形式はこんな感じか。 行末のCRLFは無くても問題ないが あった方がテキストエディタで開いた時に見やすくなる セルA1␉セルB1␉セルC1␋␍␊ セルA2␉セルB2␉セルC2␋␍␊ ASCIIが想定していたUSやRSの使い方はこんな所だろうか セルA1␟セルB1␟セルC1␞␍␊ セルA2␟セルB2␟セルC2␞␍␊ 🥳 てかプロマネさ、エクセルに CSVの文章貼り付けるときどうしてる? 🤡 んー「,」の半角は tab に置換えてから、コピペ 🥳 「123,ABC」を「123tabABC」 てやって、A1セルに貼付けても A1セルに「123tabABC」って表示されたよ ウッソ付きーーーー! 👤 地球人って・・・ 🤡 地球人でも、かなり、・・・・ 👤 こんな文章を、書き込む奴も・・・・なのか? 🤡 ノーコメントとする。 セルの列やセルの行を区切るのに制御文字を使えれば セル内に,や”を入れたり改行することもできるんだよね 🤡 多分、タブの制御コードは、␉ って感じだ 🥳 タブはHTなの?、ポクは英語バッチリ [Tab]ぢゃーーーん キーボードにHTなんてマークのキーは見つからん 👤 キーボードの[Tab]にマジックでHTって記入しちゃえー! 垂直タブはキャレット記法で^Kだけど PC-98のDOSで↑キーを押すと^Kが入力されたのを思い出した 他には→キーを押すと^Lが入力されたと思う >>787 の自称宇宙人の👤が 「Cr単独で改行アリエナイ∴Cr無視」とか言ってますが ヘンですね。 というか、'xxxxx␍yyyyy'は、ポクの メモ帳で開いたら xxxxx yyyyy でちゃんと改行されて表示ですよ。 改行がCr単独なんてアリエナイ なんて 勝手な前提しちゃいけません。レッテル論法禁止🚫🈲🙅 by 🤡 👤 give up てか今日はバィバィ。さよならーーー GUIでCR,LF,HT,BS,DEL以外の制御文字を ソースコードなどに手動で入力して使う事がほとんど無いのは キーボードに専用のキーが無いからなのかね? CUIではCtrlとアルファベットキーの組み合わせで入力できたけど GUIではショートカットキーとして使われていて制御文字は入力できないし C1制御文字に至ってはさらに馴染みがない。 制御文字をもっと活用すればエスケープ文字が図形文字のために その文字を表示するために特別な入力をする必要も無くなるのに。 >>797 OS9, AppleII, commodore read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる