•ζ1VS¹Tšã¦1d’sΩç!ÙT>_äтÿÀ†{ECZ{Ý•7ÝJ"_ -~|\*o"‡8¡»
Try it online!
First I created a translation table as follows:
0 | "_"
1 | " "
2 | "-"
3 | "~"
4 | "|"
5 | "\"
6 | "*"
7 | "o"
8 | "\n"
I then proceeded to replace each unique character in the flag with the number corresponding to the character at that specific position to get the number:
108413208417113208413111113208411115333333841161115841111111158433333333335
Here's the same pattern with the newlines (makes it more obvious):
10
41320
41711320
41311111320
411115333333
41161115
4111111115
433333333335
I then compressed the number into base-255 using 05AB1E (To compress a base-10 number to base 255 simply run 255B in 05AB1E).
Then, see the code explanation for how I rebuild it from the number.
•ζ1VS¹Tšã¦1d’sΩç!ÙT>_äтÿÀ†{ECZ{Ý• # Push the number we discussed.
7ÝJ # Push 01234567.
"_ -~|\*o" # Push "_ -~|\*o".
‡ # Replace 0-7 with the appropriate block.
8¡» # Split on 8's and print with newlines.