Transactions are encoded based on the Contract ABI Specification. It is hard to get through, but these docs have all the answers to your question.
The transaction in question is passing in two parameters: a dynamic string (name) and a static bool (isFirst). When encoding the parameters, the EVM looks to see if the parameters are static or dynamic.
131 can't be encoded as just 0x83. From https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP:
For a single byte whose value is in the [0x00, 0x7f] range, that byte is its own RLP encoding.
0x83 is outside of that range, so this "self encoding" can't be used.
Otherwise, if a string is 0-55 bytes long, the RLP encoding consists of a single byte with ...
If you are using web3, you can encode it with:
You can then decode the output with the following:
Encoding is based on the Contract ABI Specification. It is hard to get through, but these docs have all the answers to ...
When you perform a call like contract.set(0x10, ....), this is encoded into a payload like "0x60fe47b10000000000000000000000000000000000000000000000000000000000000010". Where "0x60fe47b1" is the keccak256 encoded value of the method signature, and the rest of the data is the passed parameters (I can't recall atm how the parameters are encoded).
So, when you ...
I guess you are trying to decode erc20 transfer method.
You must use the object org.web3j.abi.datatypes.Address rather than String.class.
final Address address = (Address) refMethod.invoke( null, to, 0, Address.class);
and address.toString() is the real recipient of the ERC20 transaction.
is ethereumjs-tx-unsign along the lines of what you're hoping to accomplish?
if so.. and you're also interested in obtaining even more information (from the signature), then the unsign() function in ethereumjs-tx-sign is a good place to look.
It perhaps doesn't meet the "it would be nice to give it to someone non-technical and allow them to parse it without using tools I've provided" qualifier, but the Ethslurp tool may be of use to people with at least some technical knowhow.
(As mentioned in an answer to this very similar previous question: Symbolic decoding of a transaction for Solidity.)