
No.3ベストアンサー
- 回答日時:
(右)シングルクオートと全角のアポストロフィーは同じものです。
その文字コードはUnicodeで8217(十進)、Shift_JISで8166(16進)です。
フォントを変えるか、ASCII領域にある左右の区別のないシングルクオート「'」を使ってはいかがでしょう。
データベースに Unicode 8217 (十進)の右シングルクオートが含まれていた場合に、それが正しい値で処理されていないようです。8166というのは、あれこれ調べているうちに目撃したShift_JISの16進数コードのようでした。つまり、プログラムコード上は正しく処理されていて、その先の .exe に渡した内部であやまって扱われているのではないかと思います。
.exe はずいぶん前に私がやっつけ感満載でCで書いたので、内容を見直すのは難しそうです。.exe にも文字コードとかあるんですかね。コンパイル前に書いた main.c は Shift_JIS になっていました。
No.2
- 回答日時:
>VBAで文字列を処理するプログラムを書いていますが
というのは、Excelの話ですか?
他にWordなのか、PowerPoint なのかとか、いろいろあります。
>シングルクオート(8217)が使えず
たぶん、おっしゃっている話は、左シングルクオートと右シングルクオートのセットにならないというような話ではないかと思います。
ただ、一応、プログラミングの話だと思いますが、コードの方はどうなっているのかよく分かりません。もしExcelでセルに入力する場合は、最初に、文字列を入れようとして、全角のsingle quote を使うと、半角に変わって、prefix character として、書式制御文字になってしまいます。ですから、最初のひとつは、半角single quote を捨て文字として使わなくてはなりません。
いろいろ調べた結果、Cで書いた.exeの中で 8127 の文字が2文字として計算されているところに誤りがあるような気がしています。
strlen で長さを取っているのですが、これを改める必要がありそうです。どうすれば良いのかはこれから調べます。
No.1
- 回答日時:
シフトJISの8166が、右シングルクォート「’」なので、おそらく8217もシフトJISコードの意図で書いてるのでしょうが、シフトJISにそういうコードは無いです。
タイプミスでしょうか?また、シングルクォートじゃないシングルクォートというのも、よく分かりません。どの文字のことでしょうか?ややこしいので敢えて書きませんでしたが、しっかり書くべきでしたね。
実際のプログラムはこういう流れです。
.vbs ファイルがメインのコードで、このコードが .mdb ファイルからテキストデータを吸い出します。吸い出した後、簡単な .exe にテキストデータを渡して、文字コードを基にしてハッシュ値を生成して返します。この動作は、ある既成のソフトウェアの動作を模倣したものです。
このとき、.mdb に右シングルクオートが含まれていると、正しいハッシュ値が得られないという問題があって困っていました。つまり、既成のソフトウェアではシングルクオートのみを渡した場合は8217として扱われるのに、自作のコードでは異なる値となっていたのです。
で、上記のプロセスがやや複雑なので、テスト環境としてエクセルのvbaとテキストファイル1枚のtest.vbsを使って実験していたのです(結果は同様に失敗しています)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) Excel VBAでのセルやシェイプの色指定について。 たとえば、”red”という文字列を用いて … 4 2022/11/15 09:44
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- マウス・キーボード macからリモートデスクトップでwindowsに接続した際のキーボード配列 3 2023/07/10 08:40
- Excel(エクセル) Excelの関数についておしえてください。 3 2023/04/20 18:36
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
VBA 文字に半角が含まれて...
-
メモ帳の段落の揃え方
-
COBOLでの全角文字の判定をした...
-
全角英数字の必要性が理解できない
-
スペースを特定の文字に置き換える
-
COBOL・全角判定
-
全角チルダと波ダッシュに関す...
-
正規表現を使った全角文字のチ...
-
VBでのカナの自動入力方法について
-
HTMLを作る際、%パーセントは...
-
VBで、String型のデータが、...
-
封筒の宛先で縦書きの書き方
-
perl 初めてのプログラムにエラ...
-
VBAでシングルクオート(8217)を...
-
ACCESS VBA でのバイナリデー...
-
.NET3.5におけるキーボードの「...
-
VBA 「,」・空白・カタカナ等...
-
エクセルでの”々”の扱い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
VBA 文字に半角が含まれて...
-
IEからEdgeへの移行に伴うIMEの...
-
全角英数字の必要性が理解できない
-
COBOL・全角判定
-
word差し込み印刷 半角カタカ...
-
エクセルにMicrosoft Barcode C...
-
プログラミングでは、半角括弧...
-
メモ帳の段落の揃え方
-
エクセルの検索が正しくできな...
-
エクセルでの”々”の扱い
-
char型全角数字から、int型半角...
-
CString Format にて全角空白文...
-
.NET3.5におけるキーボードの「...
-
半角/全角文字混在データの分...
-
Accessで日付や数値を全角で表...
-
[Excel VBA] ODBCによる外部デ...
-
VB.net、テキストボックス入力...
-
改行のないテキストを指定バイ...
おすすめ情報
どうやら、文字コード 8166 のクオート(アポストロフィ?)になっているようです