2 added 39 characters in body
source | link

Ohm, 2020 19 bytes (CP437), non-competing

EDIT: Saved 1 byte by changing a map block to repeated single-component maps.

Would probably be quite a bit shorter if I had implicit vectorization.

`▓_x`»x»};{»úΓXΓHδ▓_~21*

Explanation:

`▓_x`»x»};{»úΓXΓHδ▓_~21*    Main wire, arguments: s

`▓ `»x  ;                  MapConvert char codes of s over...
  _x                      Convert to hex
    »}                     Split intodigit digitspairs
      {                 Flatten
       »ú               Convert digits back to base 10
         ΓXΓH           Append and prepend with -1
             δ          Get deltas between each element of array
              ▓         Map array over...
               _~21*      Negate, multiply by 21

Ohm, 20 bytes (CP437), non-competing

`▓_x};{»úΓXΓHδ▓_~21*

Explanation:

`▓_x};{»úΓXΓHδ▓_~21*    Main wire, arguments: s

`▓   ;                  Map char codes of s over...
  _x                      Convert to hex
    }                     Split into digits
      {                 Flatten
       »ú               Convert digits back to base 10
         ΓXΓH           Append and prepend with -1
             δ          Get deltas between each element of array
              ▓         Map array over...
               _~21*      Negate, multiply by 21

Ohm, 20 19 bytes (CP437), non-competing

EDIT: Saved 1 byte by changing a map block to repeated single-component maps.

Would probably be quite a bit shorter if I had implicit vectorization.

`»x»}{»úΓXΓHδ▓_~21*

Explanation:

`»x»}{»úΓXΓHδ▓_~21*    Main wire, arguments: s

`»x                    Convert char codes of s to hex
   »}                  Split digit pairs
     {                 Flatten
      »ú               Convert digits back to base 10
        ΓXΓH           Append and prepend with -1
            δ          Get deltas between each element of array
             ▓         Map array over...
              _~21*      Negate, multiply by 21
1
source | link

Ohm, 20 bytes (CP437), non-competing

`▓_x};{»úΓXΓHδ▓_~21*

Explanation:

`▓_x};{»úΓXΓHδ▓_~21*    Main wire, arguments: s

`▓   ;                  Map char codes of s over...
  _x                      Convert to hex
    }                     Split into digits
      {                 Flatten
       »ú               Convert digits back to base 10
         ΓXΓH           Append and prepend with -1
             δ          Get deltas between each element of array
              ▓         Map array over...
               _~21*      Negate, multiply by 21