Challenge
Write a program that applies an injective function which takes an ordered pair of strings as input and one string as output. In other words, each input must map to a unique output.
Specifics
- The input may be any two strings of arbitrary length, but will consist only of printable ASCII characters (codes \$[32, 126]\$).
- Similarly, the output string has no length restriction, but it must consist only of printable ASCII characters.
- If your language can't handle arbitrary-length strings, the program may merely work theoretically for strings of any size.
- The mapping from inputs to outputs should be consistent between executions of the program. Otherwise, the mapping you use is completely up to you, as long as it is an injection.
- The input is ordered. If the two input strings are different, they should produce a different output than if they were swapped. \$s \neq t \implies f(s, t) \neq f(t, s)\$
- Not every string needs to be a possible output.
- The shortest answer in each language wins!
Test cases
The following inputs should all result in different outputs. To avoid confusion, strings are surrounded by guillemets («») and separated by single spaces.
«hello» «world» «lelho» «drowl» «diffe» «_rent» «notth» «esame» «Code» «Golf» «Co» «deGolf» «CodeGolf» «» «» «» «» « » « » «» « » « » « » « » «abc", » «def» «abc» «, "def» «abc' » «'def» «abc'» « 'def» «\» «"» «\\» «\"»