pp-to-stringで質問です。
たとえば、以下のようなコードがあります。
(let ((word (pp-to-string '(:string "hoge\nhage"))))
(print (mapcar (lambda (x)
(format "0x%02X" x)) word)))
wordのlisp-objectをpp-to-stringで変換し
価した時の値をhex表示します。
("0x28" "0x3A" "0x73" "0x74" "0x72" "0x69" "0x6E" "0x67" "0x20"
"0x22" "0x68" "0x6F" "0x67" "0x65" "0x5C" "0x6E" "0x68" "0x61" "0x67" "0x65" "0x22" "0x29" "0x0A")
こんな感じになり、改行のエスケープコードが非エスケープ
0x0A(\n) -> 0x5C(\) 0x6E(n) に変換されてしまいます。
これを回避する方法はないでしょうか?
理想としては↓を評価した時と同じになってほしいのです。
(let ((word "(:string \"hoge\nhage\")"))
(print (mapcar (lambda (x)
(format "0x%02X" x)) word)))
("0x28" "0x3A" "0x73" "0x74" "0x72" "0x69" "0x6E" "0x67" "0x20"
"0x22" "0x68" "0x6F" "0x67" "0x65" "0x0A" "0x68" "0x61" "0x67" "0x65" "0x22" "0x29")
つまり lisp-object
'(:string "hoge\nhage")
を変換したときに、
"(:string \"hoge\nhage\")"
という出力を得るには何をするのが適切でしょうか?
この例では \n だけを書いていますが \t など他のエスケープも文字コードに変換されずに、
エスケープコードとして文字列にのこしたままの出力を得たいのです。
この結果が得られるのであれば、pp-to-stringでなくても問題ありません。
Emacs Part 50 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/10/12(木) 01:32:49.01
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★2 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- 高市早苗総理「金利上昇よりも日本の成長が大事」 ★3 [Hitzeschleier★]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ2🧪
- 自民党のヒゲ「日本側の無線でcopyとは言ったが了解という意味ではない」 [834922174]
- Chatgptのサムアルトマン、買い占めたメモリを使わず焼却処分「GoogleやClaudeが値上げで買えないようにする」 [347751896]
- 【新番組】轟はじめ🐧⚡のぶんぶんぶーん🚗💨!【🏡】
- ケンモメンってなんでこんなに反日が多いの? [866936191]
- 高市早苗、トランプおやびんに泣きつくwwwwwwwwwwwwwwwwwwwwwwww [834922174]
