文字コード総合スレ part14
1 :デフォルトの名無しさん :2023/03/03(金) 15:46:58.08 ID:yKqwMGHT.net Windows NTは初代からUnicodeがネイティブの文字コードです。cp932ではありません。 プログラマーなら一度は煩わされたことのある文字コードについてのスレ。 UTF-8、Shift_JIS、JIS、EUC、Unicode、UCS、サロゲートペア、コードポイント、文字コード判定、 合成文字、ソート、TRON、外字コード、その他について語り合いましょう。 各言語での文字列の扱いについての質問もOKです。 基本マッターリ、ささ、茶でもどうぞ。 ■過去スレ 文字コード総合スレ part1 http://pc11.2ch.net/test/read.cgi/tech/1031028205/ 文字コード総合スレ part2 http://pc11.2ch.net/test/read.cgi/tech/1143375639/ 文字コード総合スレ part3 http://pc11.2ch.net/test/read.cgi/tech/1180250376/ 文字コード総合スレ part4 http://pc11.2ch.net/test/read.cgi/tech/1228052369/ (スレ再利用)UnicodeとUTF-8の違いは? http://pc12.2ch.net/test/read.cgi/tech/1177930957/ (隔離スレ)UnicodeとUTF-8の違いは? その2 http://pc12.2ch.net/test/read.cgi/tech/1274937437/ 文字コード総合スレ part5 http://pc12.2ch.net/test/read.cgi/tech/1236529563/ 文字コード総合スレ part6 http://hibari.2ch.net/test/read.cgi/tech/1278923059/ 文字コード総合スレ part7 http://toro.2ch.net/test/read.cgi/tech/1306595564/ 文字コード総合スレ part8 http://peace.2ch.net/test/read.cgi/tech/1354248962/ 文字コード総合スレ part9 http://peace.2ch.net/test/read.cgi/tech/1401301779/ 文字コード総合スレ Part10 http://mevius.2ch.net/test/read.cgi/tech/1444822140/ 文字コード総合スレ Part11 https://mevius.5ch.net/test/read.cgi/tech/1516629503/ 文字コード総合スレ Part12 https://mevius.5ch.net/test/read.cgi/tech/1544931495/ 文字コード総合スレ part13 https://mevius.5ch.net/test/read.cgi/tech/1593777227/
561 :デフォルトの名無しさん :2024/02/19(月) 15:17:29.77 ID:W0+AhDGC.net 外字とあるから 書き間違いで戸籍などに登録された、 書き間違いニセ漢字のことだと思うよ
562 :デフォルトの名無しさん :2024/02/19(月) 15:31:19.40 ID:rXkcKh1e.net Unicodeも振られていない「外字」が4%弱の人名に使われてるとは思わないけどね どうなの?
563 :デフォルトの名無しさん :2024/02/19(月) 16:04:50.11 ID:Z5993mnd.net > 2月9日(金曜日)に委託事業者から納品された通知を、郵便局に差し出すために仕分けをしている際に、 > 市職員が外字が正しく適用できていない通知を発見したことで覚知しました。 記号列(◇の中に?等)タイプだと委託業者や印刷所が気が付く可能性が高いから ワタナベやサイトウ等のIVSを反映してなかった、と言う可能性はあるかも チェックした職員はGJだな、普段から外字を気に掛けてるのだろう
564 :デフォルトの名無しさん :2024/02/19(月) 16:29:42.83 ID:wagphOU/.net 右から左に字を書く文化圏でもBackSpaceやEnterキーの矢印は右から左なんだよね
565 :デフォルトの名無しさん :2024/02/20(火) 00:03:22.85 ID:HesmWnzZ.net そりゃそうだろうよ
566 :デフォルトの名無しさん :2024/02/20(火) 08:17:36.44 ID:72vUKQN+.net >>564 え? 某OS上の某キーボードの中の人だったが、逆向きにしたぞ UIは基本的に左右が逆 あと、括弧や不等号を入力すると逆向きになったりする おかげで一時期頭がアラビア語脳だった しかし、日本も戦争に負けなければ「右から左に文字を書く文化圏」なんて 他人事じゃなかったはず アメ公のせいじゃけんのう。くやしいのう
567 :デフォルトの名無しさん :2024/02/21(水) 00:09:55.88 ID:Tatd9Vu2.net あれ、でも実はそうかな? 念の為、競合の某大手のもチェック.... OK,、仲間発見。 焦るじゃないか。いい加減なこと言うんじゃない
568 :デフォルトの名無しさん :2024/02/21(水) 00:24:01.03 ID:Tatd9Vu2.net ああ、OSによってはリターンキーのデザインとかキーボードの言語でなく UIの言語で決めていたのもあったような気がするな くそっ、俺にとって今はどうでもいい事なのに気になるじゃないかw
569 :デフォルトの名無しさん :2024/02/23(金) 13:32:00.44 ID:y/vtB73j.net >>566 >あと、括弧や不等号を入力すると逆向きになったりする >おかげで一時期頭がアラビア語脳だった 頭がパニックになりそう 頭脳パズルで使える
570 :デフォルトの名無しさん :2024/02/23(金) 14:11:14.91 ID:zZg+pKnE.net 文字は右から左だけど、数字は左から右だったような 日本語で表現すると「すーまりいはータッリ30ンリソガ」みたいな感じ
571 :デフォルトの名無しさん :2024/02/23(金) 14:21:21.57 ID:7PfXlp3P.net 数字をリトルエンディアンで表記していると考えると自然。
572 :デフォルトの名無しさん :2024/02/23(金) 23:20:37.86 ID:ZR6D6MGM.net 日本語は中国語と同様に元々縦書きで右から左に行が移る言語なので、横書きした場合は右から左に書いていた。1行の長さが1文字になったみたいな感覚だ。だから戦前戦中は横書きというと右から左に書いてあるのが多い。 これが左から右の英語と同じようにした理由は戦後英語から翻訳した文を下に書く時に見易いから。
573 :デフォルトの名無しさん :2024/02/23(金) 23:36:24.87 ID:BOi6B7hI.net 左から右の横書きは戦後ではなくそれよりもずっと前からだよ あくまで右から左がなくなったのが戦後というだけの話
574 :デフォルトの名無しさん :2024/02/24(土) 21:11:27.48 ID:hGTo+fc5.net 縦書きと横書き https://ja.wikipedia.org/?curid=329702
575 :デフォルトの名無しさん :2024/02/25(日) 21:12:56.55 ID:Cch9zGyp.net >>570 「ガソリン30リッター」の部分が英語だとしたら、そこは左->右なので 「すーまりいはガソリン30リッター」としなければならない
576 :デフォルトの名無しさん :2024/02/25(日) 23:52:14.62 ID:IA0XC+Pj.net >>575 アラビア文字のおハナシ
577 :デフォルトの名無しさん :2024/02/27(火) 11:38:12.52 ID:EbapOQdH.net >>576 もちろんそうですが何か? というか右->左の言語一般かな。ヘブライとかも 難しいのは言語の境界で、例えば「ガソリン30はいりまーす」だとして、 「ガソリン」が英語、「30はいりまーす」が日本語(右->左)だと思えば 「すーまりいは30ガソリン」となるが、「ガソリン30」で区切れると判断してしまうと 「すーまりいはガソリン30」と、違う結果になってしまう あるあるだよね〜
578 :デフォルトの名無しさん :2024/02/27(火) 14:32:58.93 ID:0J04Un9A.net 縦日 に本 書語 けな ら
579 :デフォルトの名無しさん :2024/02/28(水) 01:29:44.98 ID:anWSvM2g.net MS-IMEのせいで丸印が、漢数字の零(ゼロ)に置き換わってしまった。 日本マイクロソフトは常に中国人に日本語を担当させているから、取り返しのつかない事態になってしまった。
580 :デフォルトの名無しさん :2024/02/28(水) 15:41:15.50 ID:lyPNcJHE.net 嘘も百回言えば真実となるってやつか
581 :デフォルトの名無しさん :2024/02/28(水) 19:33:10.15 ID:anWSvM2g.net 漢数字はフォントによっては真円じゃないからな。 潰れた丸印だと何これと思う未来がみえる。
582 :デフォルトの名無しさん :2024/03/05(火) 01:45:14.40 ID:7S/8Mxza.net 区切り文字としてHorizontal Tabは使われているが Vertical TabはTSV形式でも使われていないよね 他にも0x1C-0x1FのFS GS RS USも区切り文字として想定されているのに使われていない
583 :デフォルトの名無しさん :2024/03/05(火) 18:49:24.75 ID:AgmV2Z5M.net oO0◯○。゜❍〇⁰
584 :デフォルトの名無しさん :2024/03/07(木) 05:14:15.03 ID:bENjjFCg.net UTF-8で記号がたくさん登録されてしまったのも問題だよな ハイフンのような横棒は種類がたくさんあって、文字フォントの見た目では区別できなようなものもある。
585 :デフォルトの名無しさん :2024/03/07(木) 16:55:28.90 ID:vq4kvo+w.net それよりもはるかに深刻なのはスペースに見える文字がたくさんあって スペースを取り除くプログラムを書くのが不可能に近い
586 :デフォルトの名無しさん :2024/03/07(木) 17:41:11.51 ID:Km2D9ufH.net \s \p{Zs}以外は知りませんではダメ?
587 :デフォルトの名無しさん :2024/03/08(金) 17:23:14.35 ID:LipF0GJv.net >>585 近いだけで不可能ではないので大丈夫
588 :デフォルトの名無しさん :2024/03/09(土) 19:20:37.58 ID:xWVzZbl0.net Unicodeの正規表現でいける?
589 :デフォルトの名無しさん :2024/03/09(土) 20:38:58.52 ID:v2bDUg3+.net 正規表現じゃ無理に近い 素直にブラックリストです
590 :デフォルトの名無しさん :2024/03/09(土) 21:24:45.91 ID:HJGXBhOf.net >>588 正規表現はASCII文字くらしか想定していないが、UTF-8のASCII文字限定であれば問題ない。
591 :デフォルトの名無しさん :2024/03/09(土) 23:16:58.67 ID:fHpY/2ik.net UnicodeProperty「...
592 :デフォルトの名無しさん :2024/03/10(日) 02:07:22.30 ID:XyA7TYUn.net まだこんなレベルが複数いるとはな 585はなんだとおもってるんだろうか
593 :デフォルトの名無しさん :2024/03/15(金) 23:58:29.83 ID:AJ1aqVjx.net FS GS RS USを区切り文字にしている形式はあるんだろうか
594 :デフォルトの名無しさん :2024/03/16(土) 12:13:18.07 ID:YNOid1to.net 文字列の16進コードでも正規表現できればわかりやすくなる 何語でもよくなる
595 :デフォルトの名無しさん :2024/03/16(土) 13:00:35.09 ID:g4+az/43.net わかりやすいか?
596 :デフォルトの名無しさん :2024/03/22(金) 23:58:21.79 ID:3jp6lodI.net Unicodeのコードポイントが7FFFFFFFではなく10FFFFまでになったのはUTF-16で表せるのが10FFFFまでだから?
597 :デフォルトの名無しさん :2024/03/23(土) 00:18:21.28 ID:2nTsjVrr.net >>596 >>7 FFFFFFFではなく その前提はどこから来たのやら...
598 :デフォルトの名無しさん :2024/03/23(土) 01:10:47.92 ID:IkaEn615.net >>597 UTF-8 で表現可能な上限が 0x7fffffff だな。 UCS-4 すなわち UTF-32 だと 0xffffffff UCS-2 だと 0xffff UTF-16 の上限に合わせているというの合ってる。
599 :デフォルトの名無しさん :2024/03/23(土) 02:34:19.03 ID:Wb02QQTi.net 微妙にかみあってなくて笑う
600 :デフォルトの名無しさん :2024/03/23(土) 07:47:34.76 ID:RuIB3JhE.net 仮にUTF-8のビットパターンで1バイト目に11111111を使っていいとしたら その後は10******が8バイト続くことになり48bitまで表現できることになるね
601 :デフォルトの名無しさん :2024/03/23(土) 09:10:32.39 ID:mSx3lxAx.net >>594 マルチバイト文字に [] が使えなくて | で書かなきゃならんから少し面倒にはなるな。
602 :デフォルトの名無しさん :2024/03/23(土) 11:39:26.85 ID:IkaEn615.net >>600 未定義なので定義次第。6バイトの次が7バイトや8バイトは限らないので10バイトとか定義すればそのまま64ビットをカバーすることできるし、拡張の余地は残してある。
603 :デフォルトの名無しさん :2024/03/24(日) 09:08:35.50 ID:BJcMo4Na.net >>596 当初UCS-4は最上位ビットをエスケープなどの用途に使い それを除いた7FFFFFFFまで使用可能にする計画だったはず しかしUnicodeの上限が10FFFFと決まったためにUCS-4もそれに合わせて10FFFFになったのでは
604 :デフォルトの名無しさん :2024/03/30(土) 15:01:07.51 ID:7t7x8zZ+.net C: \のようにディレクトリの区切りが円マークなのは文字化けの結果なんだよね C:\のようにバックスラッシュが本来の文字なのに 円マークの方が見慣れていてバックスラッシュだと違和感を感じてしまう なぜディレクトリ区切りにスラッシュではなくバックスラッシュを採用したんだろうか
605 :603 :2024/03/30(土) 15:05:16.11 ID:7t7x8zZ+.net 603の1行目でC:の後に0xA5を入れたらバックスラッシュになってしまった・・・
606 :デフォルトの名無しさん :2024/03/30(土) 15:07:21.72 ID:NUhOM3sH.net 別に文字化けでもないでしょ バクスラなのはオプションがスラッシュだから
607 :デフォルトの名無しさん :2024/03/30(土) 15:16:04.30 ID:bmf5qOAu.net Win32のファイル関連APIはスラッシュでOK NT APIを直接使う時にはスラッシュはNG GUIコントロール、ダイアログなどで独自処理してる箇所はスラッシュの考慮漏れ多数
608 :デフォルトの名無しさん :2024/03/30(土) 16:10:17.92 ID:OZirNnMs.net Windows のRuby では、/ も使う。 C:/Users/Owner/Documents/a.txt WSL2, Linux なら、/mnt/c/ とか /mnt/c/Users/Owner/Documents/a.txt
609 :デフォルトの名無しさん :2024/03/31(日) 00:46:19.56 ID:/gud7Tc3.net C:\Users\Owner/Documents/a.txt なんてのが OK な処理系もあるな
610 :デフォルトの名無しさん :2024/03/31(日) 01:53:54.19 ID:x9YjQ3QN.net 処理系というかDOS/WindowsならOSがそうなってる
611 :デフォルトの名無しさん :2024/03/31(日) 06:08:53.00 ID:PaHOJUqO.net >>604 UNIXの真似したかったんだけど同じにしたくなかったんじゃね?
612 :デフォルトの名無しさん :2024/03/31(日) 07:10:21.54 ID:I5DgQFHY.net ゼロは、〇とか0とか0もいいけど、ぼくはΘが僕はスキです。
613 :デフォルトの名無しさん :2024/03/31(日) 07:11:47.66 ID:I5DgQFHY.net ディレクトリ区切り は、> が、ボクは、好き❦❤♥
614 :デフォルトの名無しさん :2024/03/31(日) 07:25:21.69 ID:SDQUovF1.net もともとDOSはCP/Mの互換OSでディレクトリは無かった。で新バージョンで UNIX 等を真似てディレクトリを導入しようとしたんだけど、その時点で / はオプションの導入記号として使用済みだったので仕方なく \ を使った。単なる歴史的経緯。
615 :デフォルトの名無しさん :2024/03/31(日) 14:18:23.86 ID:iuJTPy3O.net DOSはSWITCHARをコマンドでオプションの記号を/から-に変えられたようだが Windowsにも同じ機能はあるんだろうか?
616 :デフォルトの名無しさん :2024/03/31(日) 16:22:56.09 ID:SDQUovF1.net >>615 config.sys に書くやつなので同じのはないな。 一方で windows の内部API は \ だけじゃなくて / もディレクトリ区切りとして受け付けるというか、むしろ内部的には / に統一なのでDOS互換の目的以外でオプションに / を使う意味はない。
617 :デフォルトの名無しさん :2024/04/02(火) 21:41:53.85 ID:bdVNxKJc.net Windowsのパス区切り文字は、なぜ逆スラッシュになったのか? https://ascii.jp/elem/000/001/763/1763591/
618 :デフォルトの名無しさん :2024/04/03(水) 09:15:12.66 ID:vt2yN74v.net 2018年の記事でこのネタを扱って「この事実が開発者の間に広く知られるようになったのはここ数年ぐらいのこと」と書いちゃうの 筆者さんのお年頃を感じるわ
619 :デフォルトの名無しさん :2024/04/03(水) 15:47:23.50 ID:jDA8lqcs.net Windowsは長いパスを想定していないなど、いまさらどうにもならない部分はたくさんあるからなあ。
620 :デフォルトの名無しさん :2024/04/03(水) 15:47:57.80 ID:jDA8lqcs.net 正確には長いシステム文字列だけど
621 :デフォルトの名無しさん :2024/04/05(金) 09:39:34.21 ID:OAeRR9uw.net Windows 10 バージョン 1607 以降で長いパスを有効にする https://learn.microsoft.com/ja-jp/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later
622 :デフォルトの名無しさん :2024/04/06(土) 02:00:07.31 ID:q9eV9Q7I.net システムそのもののことを書いたんだけどな
623 :デフォルトの名無しさん :2024/04/06(土) 02:00:42.72 ID:q9eV9Q7I.net Windowsそのものは互換性の維持から変えられない
624 :デフォルトの名無しさん :2024/04/06(土) 06:49:25.04 ID:bcbhwFp/.net いい加減消えろよ荒らしかなんかなのか?
625 :デフォルトの名無しさん :2024/04/08(月) 00:02:59.85 ID:q+W5fVX8.net Windowsだと日本語のパスを普通に扱うから、UTF-8のストレージからコピーしたものなどは、キャラクタセットの問題で同じファイルと認識されないことがある。
626 :デフォルトの名無しさん :2024/04/08(月) 00:06:46.79 ID:gUGErxP/.net robocopyコマンドなどは日本語の濁点文字を変換できないので、Macなどから持ってきたファイル、フォルダなどをWindowsは正確に置き換えられず、新しい別のファイルだと判断してしまう。
627 :デフォルトの名無しさん :2024/04/08(月) 06:23:54.81 ID:/usqsKAh.net Unicodeの正規化の問題はマカーでもMacが変だとおもってるから zipとかを客に要求されたときは気を使ってる 俺はスクリプトでアーカイバ書いた
628 :デフォルトの名無しさん :2024/04/09(火) 20:36:20.01 ID:rPao90Ac.net UTF-8は同じ記号を二重に定義したりと迷惑極まりない
629 :デフォルトの名無しさん :2024/04/09(火) 20:39:38.16 ID:rPao90Ac.net 日本語のフォルダ名、日本語のファイル名、半角スペースが入っているパスなどは、やはりキャラクタセットの問題、区切り文字と誤認識したりと日本語を使う弊害があるから、MacユーザーはWindowsでも問題ない名前にしてくれないと無用なトラブルを起こす。
630 :デフォルトの名無しさん :2024/04/09(火) 21:34:31.96 ID:iMz8mL7D.net >>629 そんなこと言うとマックユーザーは濁点や半濁点が禁止になるぞ?!
631 :デフォルトの名無しさん :2024/04/09(火) 21:45:35.69 ID:UYF51JOY.net >>630 UNIXで日本語を普通に使っている時点で問題があるのにな Macユーザーは知識のない人間が多いのは事実だし、シェアが低いのにMacの方が売れているかのような嘘を話す。
632 :デフォルトの名無しさん :2024/04/09(火) 22:14:36.89 ID:alsgPFRw.net 昔は句点にしったかはいなかったのに時代かな
633 :デフォルトの名無しさん :2024/04/10(水) 01:10:50.60 ID:o/CaXglC.net 句読点話とか昔から議論があって、国とマスコミが合わせている話を最近の話だと思っているのは、ネットの捏造話題に振り回されすぎだw
634 :デフォルトの名無しさん :2024/04/10(水) 17:32:28.51 ID:+KIbNPCo.net 大文字と小文字の使い分けで問題が出るので
635 :デフォルトの名無しさん :2024/04/15(月) 15:11:19.52 ID:PE3M1YJ/.net 改行コードは、LF CR LF+CR どれが間違えなのか統一しろっつうの
636 :デフォルトの名無しさん :2024/04/15(月) 20:58:18.76 ID:QxQntH9/.net >>635 その前提が間違っています
637 :デフォルトの名無しさん :2024/04/16(火) 01:11:44.84 ID:FS4GZ/y6.net >>635 迷ったときはとにかくBOMなしUTF-8でLFにしろ
638 :デフォルトの名無しさん :2024/04/17(水) 05:36:29.22 ID:w7jXmCDp.net >>637 Windowsの知識がないのか?
639 :デフォルトの名無しさん :2024/04/17(水) 05:37:28.83 ID:w7jXmCDp.net WindowsはBOM付きじゃないとUTF-16だとみなすことが多い。
640 :デフォルトの名無しさん :2024/04/17(水) 06:30:22.24 ID:SUsXTeqI.net >>637 正解 それで世界標準が確立した
641 :デフォルトの名無しさん :2024/04/17(水) 18:58:24.59 ID:Pzbg3t/L.net >>639 そりゃあWindowsはそう判定するかもしれんけどな 普通はWindows上で動作するアプリの方にファイルを食わすんよ そんでそのデファクトがBOMなしLF UTF-8って寸法さね
642 :デフォルトの名無しさん :2024/04/17(水) 23:38:18.72 ID:knPCS6jH.net Windows なら BOM 無し CRLF UTF8 ではないかと思う どっちみちアプリ専用なら決め打ちだろうしな 自動判別が必要なものなんてテキストエディタくらいだろう
643 :デフォルトの名無しさん :2024/04/18(木) 00:01:39.47 ID:oEM4PXys.net 結局ネット互換性で文字コードは統一の方向に向かっている感じ。昔はOSごとにバラバラでも問題は大きくなかったんだが最近はそうも行かなくなって、ネット交換性のないアプリとかは時代遅れになっているし、開発もOS独立が主流。 今の所ネットでは、サーバーは Linux が圧倒的なシェアを持ってて、クライアントはスマフォ、特に android がシェア1位なのでやっぱり linux なのでその文字コードに全体が引き寄せられてる。
644 :デフォルトの名無しさん :2024/04/19(金) 16:15:59.26 ID:B7MqzRwb.net 横サイズ×縦サイズのように大きさを書くときには U+D7の乗算記号を使うべきなんだろうがアルファベットのxで書かれていることが多いよね 乗算記号はキーボードから直接入力できないからこうなってしまったのか キーボードから直接入力できる*も乗算記号の代わりとして使えるはずだがこの表記もあまり見かけない
645 :デフォルトの名無しさん :2024/04/19(金) 17:54:47.14 ID:8xyh5QpX.net ×とхとxとXとХと✕と✖の違いがわからない
646 :デフォルトの名無しさん :2024/04/19(金) 19:46:17.55 ID:jRDwWt4b.net >>644 Latin-1補助の文字集合というのがいまいちねえ そういえば円記号だって0xA5だけを使うという世界線がもしあったなら
647 :デフォルトの名無しさん :2024/04/20(土) 02:13:39.00 ID:5uh2yve4.net かける での変換、Shift キーとの同時押 下が面倒で x で代用するのかもしれんな
648 :デフォルトの名無しさん :2024/04/20(土) 02:18:34.42 ID:TAp2l9om.net >>647 もともとユニコードとか日本語とか実装される前の時代というか、コンピュターができる前のタイプライターの時代に乗算記号を x で代用する文化ができた。それが今に引き継がれてるだけ。
649 :デフォルトの名無しさん :2024/04/20(土) 10:09:45.86 ID:V9YAL+TF.net そもそも乗算記号は世界共通じゃないのよ ×じゃなくて・使う地域がある 除算記号も:使う地域がある
650 :デフォルトの名無しさん :2024/04/20(土) 14:38:04.06 ID:nh5GJjX6.net 桁区切りや小数点が違うのは、国際化ライブラリで変換してくれるのがあるよね 数学の演算記号もカバーしてたりするんだろうか
651 :デフォルトの名無しさん :2024/04/20(土) 17:24:22.41 ID:V9YAL+TF.net コンピュータ言語だと*と/で代用してるからね 世界共通じゃないのと普通の文章であまり出てこないのでASCIIコードに入らなかったんだと思う 数学だと乗算記号は省略されるし除算も分数表記になるし
652 :デフォルトの名無しさん :2024/04/20(土) 17:33:35.97 ID:TAp2l9om.net >>651 そんなこと言ってると APL 投げつけられるぞ?
653 :デフォルトの名無しさん :2024/04/20(土) 19:53:23.39 ID:75CIwP38.net セル内文字 ⇒ Unicodeは excel関数として存在する。 かつ UnicodeをUTF-8に変換 のロジックもネット上にあり 然るに、 EXCELセル内文字⇒UTF-8に変換 は、excel関数になくても、 vbaで自作可能❢ なハズです。 なので、EXCELセル内文字⇒UTF-8に変換 するVBAを開発するぞーーー。てか開発させよっーーーと by 🤡の呟き
654 :652 :2024/04/20(土) 20:58:38.32 ID:75CIwP38.net っていうかさ、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 ∵🤔 🤔のロジックを検討中
655 :デフォルトの名無しさん :2024/04/20(土) 21:23:20.18 ID:TAp2l9om.net bit shift とか知ってる? bit and とか bit or とかは?
656 :デフォルトの名無しさん :2024/04/21(日) 01:26:18.38 ID:MS9R2kFy.net bit shift等なんとなくわかる で、何となく、どうにかなりそう。 x = x*2 '''xが128未満で左シフト x = x\2 '''右シフト x = x+192 '''xが64未満ならbit orかな bit and はちょっと難しい by 🤡
657 :653 :2024/04/21(日) 01:48:31.65 ID:MS9R2kFy.net 例 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あるかも
658 :656レビュー自作自演 :2024/04/21(日) 06:35:47.14 ID:MS9R2kFy.net 👤 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 でバグるか? んーーーー
659 :657 とにかく早速テスト篇 :2024/04/21(日) 08:23:58.98 ID:MS9R2kFy.net 出演者 🥳バカテスター 🤡プロマネ(元プログラマ) 👤宇宙人のランベルト星人 🥳プロマネが作った>>657 のVBAをRunしたらエラーでRunしない。バグ発見∴嬉しいデス ちゃーーーーんとテストしてる証だぁ 🤡 &hE3h は、&hE3 だった。てかそんなの報告せず 修正してテストしろーーーちゅーーーの 🥳 で、修正してテストしたら上手くいっちゃった ちゃんと、「お」とメッセージボックスに表示された 🤡 だろ\(^o^)/ ま、たった一文字だけど 今後は更にコード改造して、UTF8のをEXCELに表示させるぜ 🥳 たったの一文字で、それも「お」だけしかテストしてないぢゃーーー 🤡 最初の一歩はこんなもんだ。てかうっせーーー
660 :658の続きてかプロマネの呟き :2024/04/21(日) 08:39:06.15 ID:MS9R2kFy.net 🤡 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にしよっと
661 :659についてランベルト星人感想 :2024/04/21(日) 10:51:04.07 ID:MS9R2kFy.net 👤 UTF8かつカテゴリ3BYTEなら、 そのロジックで、バッチリだろうが・・・ 🤡 オレッちの開発の、秘伝の数式 c=256*(16*b1+b2\4)+64*(b2 mod 4)+b3 は、モチロンバッチリだよな ✌ 👤 で、EXCEL VBAで実装するのか❓んーーー 🤡 モチロンだ。ってか連れないな。なんで 👤 その程度の数式なら、VBAは不要でさ、 EXCEL関数だけで、イケる気もする。 VBAを走らせなくても、UTF8コード値の入力 と同時に、文字(漢字等)が表示されるぜ 🤡 なるほど。入力と同時文字表示は、いいな VBAでの実装は保留とし、EXCEL関数での 実装を検討とする
272 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者