プロジェクト

全般

プロフィール

ZeroWidthSpace » DecodeZeroWidthSpace.sh

kanata, 2025/04/13 14:02

 
#!/bin/bash

ZWS1=$'\u200b'
ZWS2=$'\u200c'
ZWS3=$'\u200d'
ZWS4=$'\ufeff'

if [ -p /dev/stdin ] ; then
CONTENT=$(cat -)
else
CONTENT=$1
fi

CONTENT=$(echo $CONTENT|sed s/[^$ZWS1$ZWS2$ZWS3$ZWS4]//g )

printf "'"
echo $CONTENT \
|sed s/$ZWS1/0/g \
|sed s/$ZWS2/1/g \
|sed s/$ZWS3/2/g \
|sed s/$ZWS4/3/g \
|sed 's/^/obase=16; ibase=4; &/g'|bc|xxd -ps -r|tr -d '\n'
echo "'"

(1-1/3)