文字コード総合スレ part14

■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 15:46:58.08ID:yKqwMGHT
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/
2024/02/18(日) 00:28:41.00ID:JX7gxI3D
文字幅が実行時にやってみないと確定しないのはマジで困るし非効率すぎるよな
2024/02/19(月) 14:52:55.18ID:DKEFCHRN
市民への郵送物、JISコード外の氏名が文字化け さいたま市が謝罪
https://www.itmedia.co.jp/news/articles/2402/19/news091.html

発送した12万通のうち4438通で、JIS規格の文字コードに含まれない外字を含む氏名について、正しい漢字が適用されなかったという。

対象の郵送物は「さいたま市物価高騰対応重点支援給付金のお知らせ」。

給付金に関する事務を受託している事業者が、外字を適正に印字する設定を誤ったため文字化けが起きたという。
2024/02/19(月) 15:01:56.94ID:W0+AhDGC
書き間違いで大量に発生したニセ漢字は今後使用禁止とするのがいいのかな
外字も必要なくなり皆がハッピー
2024/02/19(月) 15:09:57.93ID:nUsGqOzK
文字化けと言っても記号列の様な感じじゃなく中華フォントになったのだろう
普段から一部の粗悪アプリで中華フォントを見させれれてる弊害だな
2024/02/19(月) 15:17:29.77ID:W0+AhDGC
外字とあるから
書き間違いで戸籍などに登録された、
書き間違いニセ漢字のことだと思うよ
2024/02/19(月) 15:31:19.40ID:rXkcKh1e
Unicodeも振られていない「外字」が4%弱の人名に使われてるとは思わないけどね
どうなの?
2024/02/19(月) 16:04:50.11ID:Z5993mnd
> 2月9日(金曜日)に委託事業者から納品された通知を、郵便局に差し出すために仕分けをしている際に、
> 市職員が外字が正しく適用できていない通知を発見したことで覚知しました。

記号列(◇の中に?等)タイプだと委託業者や印刷所が気が付く可能性が高いから
ワタナベやサイトウ等のIVSを反映してなかった、と言う可能性はあるかも
チェックした職員はGJだな、普段から外字を気に掛けてるのだろう
2024/02/19(月) 16:29:42.83ID:wagphOU/
右から左に字を書く文化圏でもBackSpaceやEnterキーの矢印は右から左なんだよね
564デフォルトの名無しさん
垢版 |
2024/02/20(火) 00:03:22.85ID:HesmWnzZ
そりゃそうだろうよ
2024/02/20(火) 08:17:36.44ID:72vUKQN+
>>563
え? 某OS上の某キーボードの中の人だったが、逆向きにしたぞ
UIは基本的に左右が逆
あと、括弧や不等号を入力すると逆向きになったりする
おかげで一時期頭がアラビア語脳だった

しかし、日本も戦争に負けなければ「右から左に文字を書く文化圏」なんて
他人事じゃなかったはず
アメ公のせいじゃけんのう。くやしいのう
2024/02/21(水) 00:09:55.88ID:Tatd9Vu2
あれ、でも実はそうかな?
念の為、競合の某大手のもチェック.... OK,、仲間発見。
焦るじゃないか。いい加減なこと言うんじゃない
2024/02/21(水) 00:24:01.03ID:Tatd9Vu2
ああ、OSによってはリターンキーのデザインとかキーボードの言語でなく
UIの言語で決めていたのもあったような気がするな
くそっ、俺にとって今はどうでもいい事なのに気になるじゃないかw
2024/02/23(金) 13:32:00.44ID:y/vtB73j
>>565
>あと、括弧や不等号を入力すると逆向きになったりする
>おかげで一時期頭がアラビア語脳だった

頭がパニックになりそう
頭脳パズルで使える
2024/02/23(金) 14:11:14.91ID:zZg+pKnE
文字は右から左だけど、数字は左から右だったような
日本語で表現すると「すーまりいはータッリ30ンリソガ」みたいな感じ
2024/02/23(金) 14:21:21.57ID:7PfXlp3P
数字をリトルエンディアンで表記していると考えると自然。
571デフォルトの名無しさん
垢版 |
2024/02/23(金) 23:20:37.86ID:ZR6D6MGM
日本語は中国語と同様に元々縦書きで右から左に行が移る言語なので、横書きした場合は右から左に書いていた。1行の長さが1文字になったみたいな感覚だ。だから戦前戦中は横書きというと右から左に書いてあるのが多い。
これが左から右の英語と同じようにした理由は戦後英語から翻訳した文を下に書く時に見易いから。
2024/02/23(金) 23:36:24.87ID:BOi6B7hI
左から右の横書きは戦後ではなくそれよりもずっと前からだよ
あくまで右から左がなくなったのが戦後というだけの話
2024/02/24(土) 21:11:27.48ID:hGTo+fc5
縦書きと横書き
https://ja.wikipedia.org/?curid=329702
2024/02/25(日) 21:12:56.55ID:Cch9zGyp
>>569
「ガソリン30リッター」の部分が英語だとしたら、そこは左->右なので
「すーまりいはガソリン30リッター」としなければならない
2024/02/25(日) 23:52:14.62ID:IA0XC+Pj
>>574
アラビア文字のおハナシ
2024/02/27(火) 11:38:12.52ID:EbapOQdH
>>575
もちろんそうですが何か? というか右->左の言語一般かな。ヘブライとかも

難しいのは言語の境界で、例えば「ガソリン30はいりまーす」だとして、
「ガソリン」が英語、「30はいりまーす」が日本語(右->左)だと思えば
「すーまりいは30ガソリン」となるが、「ガソリン30」で区切れると判断してしまうと
「すーまりいはガソリン30」と、違う結果になってしまう
あるあるだよね〜
577デフォルトの名無しさん
垢版 |
2024/02/27(火) 14:32:58.93ID:0J04Un9A
縦日
に本
書語
けな
 ら
578デフォルトの名無しさん
垢版 |
2024/02/28(水) 01:29:44.98ID:anWSvM2g
MS-IMEのせいで丸印が、漢数字の零(ゼロ)に置き換わってしまった。
日本マイクロソフトは常に中国人に日本語を担当させているから、取り返しのつかない事態になってしまった。
2024/02/28(水) 15:41:15.50ID:lyPNcJHE
嘘も百回言えば真実となるってやつか
580デフォルトの名無しさん
垢版 |
2024/02/28(水) 19:33:10.15ID:anWSvM2g
漢数字はフォントによっては真円じゃないからな。
潰れた丸印だと何これと思う未来がみえる。
2024/03/05(火) 01:45:14.40ID:7S/8Mxza
区切り文字としてHorizontal Tabは使われているが
Vertical TabはTSV形式でも使われていないよね
他にも0x1C-0x1FのFS GS RS USも区切り文字として想定されているのに使われていない
582デフォルトの名無しさん
垢版 |
2024/03/05(火) 18:49:24.75ID:AgmV2Z5M
oO0◯○。゜❍〇⁰
583デフォルトの名無しさん
垢版 |
2024/03/07(木) 05:14:15.03ID:bENjjFCg
UTF-8で記号がたくさん登録されてしまったのも問題だよな

ハイフンのような横棒は種類がたくさんあって、文字フォントの見た目では区別できなようなものもある。
2024/03/07(木) 16:55:28.90ID:vq4kvo+w
それよりもはるかに深刻なのはスペースに見える文字がたくさんあって
スペースを取り除くプログラムを書くのが不可能に近い
2024/03/07(木) 17:41:11.51ID:Km2D9ufH
\s \p{Zs}以外は知りませんではダメ?
2024/03/08(金) 17:23:14.35ID:LipF0GJv
>>584
近いだけで不可能ではないので大丈夫
2024/03/09(土) 19:20:37.58ID:xWVzZbl0
Unicodeの正規表現でいける?
2024/03/09(土) 20:38:58.52ID:v2bDUg3+
正規表現じゃ無理に近い
素直にブラックリストです
589デフォルトの名無しさん
垢版 |
2024/03/09(土) 21:24:45.91ID:HJGXBhOf
>>587
正規表現はASCII文字くらしか想定していないが、UTF-8のASCII文字限定であれば問題ない。
2024/03/09(土) 23:16:58.67ID:fHpY/2ik
UnicodeProperty「...
2024/03/10(日) 02:07:22.30ID:XyA7TYUn
まだこんなレベルが複数いるとはな
585はなんだとおもってるんだろうか
2024/03/15(金) 23:58:29.83ID:AJ1aqVjx
FS GS RS USを区切り文字にしている形式はあるんだろうか
2024/03/16(土) 12:13:18.07ID:YNOid1to
文字列の16進コードでも正規表現できればわかりやすくなる
何語でもよくなる
2024/03/16(土) 13:00:35.09ID:g4+az/43
わかりやすいか?
2024/03/22(金) 23:58:21.79ID:3jp6lodI
Unicodeのコードポイントが7FFFFFFFではなく10FFFFまでになったのはUTF-16で表せるのが10FFFFまでだから?
2024/03/23(土) 00:18:21.28ID:2nTsjVrr
>>595
>>7FFFFFFFではなく

その前提はどこから来たのやら...
2024/03/23(土) 01:10:47.92ID:IkaEn615
>>596
UTF-8 で表現可能な上限が 0x7fffffff だな。
UCS-4 すなわち UTF-32 だと 0xffffffff
UCS-2 だと 0xffff
UTF-16 の上限に合わせているというの合ってる。
2024/03/23(土) 02:34:19.03ID:Wb02QQTi
微妙にかみあってなくて笑う
2024/03/23(土) 07:47:34.76ID:RuIB3JhE
仮にUTF-8のビットパターンで1バイト目に11111111を使っていいとしたら
その後は10******が8バイト続くことになり48bitまで表現できることになるね
2024/03/23(土) 09:10:32.39ID:mSx3lxAx
>>593
マルチバイト文字に [] が使えなくて | で書かなきゃならんから少し面倒にはなるな。
2024/03/23(土) 11:39:26.85ID:IkaEn615
>>599
未定義なので定義次第。6バイトの次が7バイトや8バイトは限らないので10バイトとか定義すればそのまま64ビットをカバーすることできるし、拡張の余地は残してある。
2024/03/24(日) 09:08:35.50ID:BJcMo4Na
>>595
当初UCS-4は最上位ビットをエスケープなどの用途に使い
それを除いた7FFFFFFFまで使用可能にする計画だったはず
しかしUnicodeの上限が10FFFFと決まったためにUCS-4もそれに合わせて10FFFFになったのでは
2024/03/30(土) 15:01:07.51ID:7t7x8zZ+
C: \のようにディレクトリの区切りが円マークなのは文字化けの結果なんだよね
C:\のようにバックスラッシュが本来の文字なのに
円マークの方が見慣れていてバックスラッシュだと違和感を感じてしまう
なぜディレクトリ区切りにスラッシュではなくバックスラッシュを採用したんだろうか
604603
垢版 |
2024/03/30(土) 15:05:16.11ID:7t7x8zZ+
603の1行目でC:の後に0xA5を入れたらバックスラッシュになってしまった・・・
605デフォルトの名無しさん
垢版 |
2024/03/30(土) 15:07:21.72ID:NUhOM3sH
別に文字化けでもないでしょ
バクスラなのはオプションがスラッシュだから
2024/03/30(土) 15:16:04.30ID:bmf5qOAu
Win32のファイル関連APIはスラッシュでOK
NT APIを直接使う時にはスラッシュはNG
GUIコントロール、ダイアログなどで独自処理してる箇所はスラッシュの考慮漏れ多数
2024/03/30(土) 16:10:17.92ID:OZirNnMs
Windows のRuby では、/ も使う。
C:/Users/Owner/Documents/a.txt

WSL2, Linux なら、/mnt/c/ とか
/mnt/c/Users/Owner/Documents/a.txt
2024/03/31(日) 00:46:19.56ID:/gud7Tc3
C:\Users\Owner/Documents/a.txt なんてのが OK な処理系もあるな
2024/03/31(日) 01:53:54.19ID:x9YjQ3QN
処理系というかDOS/WindowsならOSがそうなってる
610デフォルトの名無しさん
垢版 |
2024/03/31(日) 06:08:53.00ID:PaHOJUqO
>>603
UNIXの真似したかったんだけど同じにしたくなかったんじゃね?
611デフォルトの名無しさん
垢版 |
2024/03/31(日) 07:10:21.54ID:I5DgQFHY
ゼロは、〇とか0とか0もいいけど、ぼくはΘが僕はスキです。
612デフォルトの名無しさん
垢版 |
2024/03/31(日) 07:11:47.66ID:I5DgQFHY
ディレクトリ区切り は、> が、ボクは、好き❦❤♥
2024/03/31(日) 07:25:21.69ID:SDQUovF1
もともとDOSはCP/Mの互換OSでディレクトリは無かった。で新バージョンで UNIX 等を真似てディレクトリを導入しようとしたんだけど、その時点で / はオプションの導入記号として使用済みだったので仕方なく \ を使った。単なる歴史的経緯。
2024/03/31(日) 14:18:23.86ID:iuJTPy3O
DOSはSWITCHARをコマンドでオプションの記号を/から-に変えられたようだが
Windowsにも同じ機能はあるんだろうか?
2024/03/31(日) 16:22:56.09ID:SDQUovF1
>>614
config.sys に書くやつなので同じのはないな。
一方で windows の内部API は \ だけじゃなくて / もディレクトリ区切りとして受け付けるというか、むしろ内部的には / に統一なのでDOS互換の目的以外でオプションに / を使う意味はない。
2024/04/02(火) 21:41:53.85ID:bdVNxKJc
Windowsのパス区切り文字は、なぜ逆スラッシュになったのか?
https://ascii.jp/elem/000/001/763/1763591/
2024/04/03(水) 09:15:12.66ID:vt2yN74v
2018年の記事でこのネタを扱って「この事実が開発者の間に広く知られるようになったのはここ数年ぐらいのこと」と書いちゃうの
筆者さんのお年頃を感じるわ
618デフォルトの名無しさん
垢版 |
2024/04/03(水) 15:47:23.50ID:jDA8lqcs
Windowsは長いパスを想定していないなど、いまさらどうにもならない部分はたくさんあるからなあ。
619デフォルトの名無しさん
垢版 |
2024/04/03(水) 15:47:57.80ID:jDA8lqcs
正確には長いシステム文字列だけど
2024/04/05(金) 09:39:34.21ID:OAeRR9uw
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
621デフォルトの名無しさん
垢版 |
2024/04/06(土) 02:00:07.31ID:q9eV9Q7I
システムそのもののことを書いたんだけどな
622デフォルトの名無しさん
垢版 |
2024/04/06(土) 02:00:42.72ID:q9eV9Q7I
Windowsそのものは互換性の維持から変えられない
623デフォルトの名無しさん
垢版 |
2024/04/06(土) 06:49:25.04ID:bcbhwFp/
いい加減消えろよ荒らしかなんかなのか?
624デフォルトの名無しさん
垢版 |
2024/04/08(月) 00:02:59.85ID:q+W5fVX8
Windowsだと日本語のパスを普通に扱うから、UTF-8のストレージからコピーしたものなどは、キャラクタセットの問題で同じファイルと認識されないことがある。
625デフォルトの名無しさん
垢版 |
2024/04/08(月) 00:06:46.79ID:gUGErxP/
robocopyコマンドなどは日本語の濁点文字を変換できないので、Macなどから持ってきたファイル、フォルダなどをWindowsは正確に置き換えられず、新しい別のファイルだと判断してしまう。
2024/04/08(月) 06:23:54.81ID:/usqsKAh
Unicodeの正規化の問題はマカーでもMacが変だとおもってるから
zipとかを客に要求されたときは気を使ってる
俺はスクリプトでアーカイバ書いた
627デフォルトの名無しさん
垢版 |
2024/04/09(火) 20:36:20.01ID:rPao90Ac
UTF-8は同じ記号を二重に定義したりと迷惑極まりない
628デフォルトの名無しさん
垢版 |
2024/04/09(火) 20:39:38.16ID:rPao90Ac
日本語のフォルダ名、日本語のファイル名、半角スペースが入っているパスなどは、やはりキャラクタセットの問題、区切り文字と誤認識したりと日本語を使う弊害があるから、MacユーザーはWindowsでも問題ない名前にしてくれないと無用なトラブルを起こす。
2024/04/09(火) 21:34:31.96ID:iMz8mL7D
>>628
そんなこと言うとマックユーザーは濁点や半濁点が禁止になるぞ?!
630デフォルトの名無しさん
垢版 |
2024/04/09(火) 21:45:35.69ID:UYF51JOY
>>629
UNIXで日本語を普通に使っている時点で問題があるのにな
Macユーザーは知識のない人間が多いのは事実だし、シェアが低いのにMacの方が売れているかのような嘘を話す。
2024/04/09(火) 22:14:36.89ID:alsgPFRw
昔は句点にしったかはいなかったのに時代かな
632デフォルトの名無しさん
垢版 |
2024/04/10(水) 01:10:50.60ID:o/CaXglC
句読点話とか昔から議論があって、国とマスコミが合わせている話を最近の話だと思っているのは、ネットの捏造話題に振り回されすぎだw
2024/04/10(水) 17:32:28.51ID:+KIbNPCo
大文字と小文字の使い分けで問題が出るので
634デフォルトの名無しさん
垢版 |
2024/04/15(月) 15:11:19.52ID:PE3M1YJ/
改行コードは、LF CR LF+CR どれが間違えなのか統一しろっつうの
2024/04/15(月) 20:58:18.76ID:QxQntH9/
>>634
その前提が間違っています
2024/04/16(火) 01:11:44.84ID:FS4GZ/y6
>>634
迷ったときはとにかくBOMなしUTF-8でLFにしろ
637デフォルトの名無しさん
垢版 |
2024/04/17(水) 05:36:29.22ID:w7jXmCDp
>>636
Windowsの知識がないのか?
638デフォルトの名無しさん
垢版 |
2024/04/17(水) 05:37:28.83ID:w7jXmCDp
WindowsはBOM付きじゃないとUTF-16だとみなすことが多い。
2024/04/17(水) 06:30:22.24ID:SUsXTeqI
>>636
正解
それで世界標準が確立した
2024/04/17(水) 18:58:24.59ID:Pzbg3t/L
>>638
そりゃあWindowsはそう判定するかもしれんけどな
普通はWindows上で動作するアプリの方にファイルを食わすんよ
そんでそのデファクトがBOMなしLF UTF-8って寸法さね
2024/04/17(水) 23:38:18.72ID:knPCS6jH
Windows なら BOM 無し CRLF UTF8 ではないかと思う
どっちみちアプリ専用なら決め打ちだろうしな
自動判別が必要なものなんてテキストエディタくらいだろう
2024/04/18(木) 00:01:39.47ID:oEM4PXys
結局ネット互換性で文字コードは統一の方向に向かっている感じ。昔はOSごとにバラバラでも問題は大きくなかったんだが最近はそうも行かなくなって、ネット交換性のないアプリとかは時代遅れになっているし、開発もOS独立が主流。
今の所ネットでは、サーバーは Linux が圧倒的なシェアを持ってて、クライアントはスマフォ、特に android がシェア1位なのでやっぱり linux なのでその文字コードに全体が引き寄せられてる。
2024/04/19(金) 16:15:59.26ID:B7MqzRwb
横サイズ×縦サイズのように大きさを書くときには
U+D7の乗算記号を使うべきなんだろうがアルファベットのxで書かれていることが多いよね
乗算記号はキーボードから直接入力できないからこうなってしまったのか
キーボードから直接入力できる*も乗算記号の代わりとして使えるはずだがこの表記もあまり見かけない
2024/04/19(金) 17:54:47.14ID:8xyh5QpX
×とхとxとXとХと✕と✖の違いがわからない
2024/04/19(金) 19:46:17.55ID:jRDwWt4b
>>643
Latin-1補助の文字集合というのがいまいちねえ
そういえば円記号だって0xA5だけを使うという世界線がもしあったなら
2024/04/20(土) 02:13:39.00ID:5uh2yve4
かける での変換、Shift キーとの同時押 下が面倒で x で代用するのかもしれんな
2024/04/20(土) 02:18:34.42ID:TAp2l9om
>>646
もともとユニコードとか日本語とか実装される前の時代というか、コンピュターができる前のタイプライターの時代に乗算記号を x で代用する文化ができた。それが今に引き継がれてるだけ。
2024/04/20(土) 10:09:45.86ID:V9YAL+TF
そもそも乗算記号は世界共通じゃないのよ
×じゃなくて・使う地域がある
除算記号も:使う地域がある
2024/04/20(土) 14:38:04.06ID:nh5GJjX6
桁区切りや小数点が違うのは、国際化ライブラリで変換してくれるのがあるよね
数学の演算記号もカバーしてたりするんだろうか
2024/04/20(土) 17:24:22.41ID:V9YAL+TF
コンピュータ言語だと*と/で代用してるからね
世界共通じゃないのと普通の文章であまり出てこないのでASCIIコードに入らなかったんだと思う
数学だと乗算記号は省略されるし除算も分数表記になるし
2024/04/20(土) 17:33:35.97ID:TAp2l9om
>>650
そんなこと言ってると APL 投げつけられるぞ?
652デフォルトの名無しさん
垢版 |
2024/04/20(土) 19:53:23.39ID:75CIwP38
セル内文字 ⇒ Unicodeは
excel関数として存在する。

かつ

UnicodeをUTF-8に変換
のロジックもネット上にあり

然るに、
EXCELセル内文字⇒UTF-8に変換
は、excel関数になくても、
vbaで自作可能❢ なハズです。

なので、EXCELセル内文字⇒UTF-8に変換
するVBAを開発するぞーーー。てか開発させよっーーーと

by 🤡の呟き
653652
垢版 |
2024/04/20(土) 20:58:38.32ID:75CIwP38
っていうかさ、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 ∵🤔
🤔のロジックを検討中
2024/04/20(土) 21:23:20.18ID:TAp2l9om
bit shift とか知ってる?
bit and とか bit or とかは?
655デフォルトの名無しさん
垢版 |
2024/04/21(日) 01:26:18.38ID:MS9R2kFy
bit shift等なんとなくわかる
で、何となく、どうにかなりそう。
x = x*2 '''xが128未満で左シフト 
x = x\2 '''右シフト
x = x+192 '''xが64未満ならbit orかな
bit and はちょっと難しい

by 🤡
656653
垢版 |
2024/04/21(日) 01:48:31.65ID:MS9R2kFy
例 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あるかも
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況